[英]How can I share a navigation drawer between multiple activities?
嗨,我正在为我的高中毕业做一个学校项目。 该项目由一个 Android 应用程序组成,其中的 MainActivity 是一个导航抽屉。 现在,我已经了解了关于这个论点的数千个问题,但所有的答案都是关于使用片段的。 我不想使用片段,那么如何在不同的 Activity 之间共享 Navigation Drawer?
注意:1) 我使用了 Android Studio 提供的股票导航抽屉。
2)我不想共享 MainActivity 的 Toolbar,而只想共享 Navigation Drawer。
谢谢。
您需要使用 Drawer 创建 BaseActivity 并且所有子活动都将扩展该 BaseActivity
public class BaseActivity extends AppCompatActivity {
@Override
public void setContentView(int layoutResID) {
super.setContentView(R.layout.activity_base);
// Base activity view with navigation drawer
mainContener = (RelativeLayout) findViewById(R.id.mainContener);
// MainCOntener where you want to add your child activity view
// with toolbar and all
getLayoutInflater().inflate(layoutResID, mainLayout);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setOnClickListener(this);
findViewById(R.id.linearLayout_home).setOnClickListener(this);
...
...
getDrawerData();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_base);
}
}
并像这样创建子活动
public class Home extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
每次当 setContentView(); 从子活动调用该视图(或布局如 R.layout.home)将在 baseactivity 的 Contener(如 R.layout.base_activity)的 ViewGroup 中膨胀
有关更多信息,您可以使用 Google-IO 应用程序代码,他们也使用 BaseActivity 概念https://github.com/google/iosched
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.