繁体   English   中英

将导航抽屉与其他活动一起使用

[英]Using Navigation Drawer with other activities

这里的第一个问题,希望我能得到我需要的帮助:)首先,我尝试检查此线程: 在不同的Activity中使用相同的导航抽屉,在许多其他活动中却没有得到任何帮助:\\

题:

因此,我制作了一个应如下构建的应用程序:

导航抽屉-所有活动。

包含信息的主页

活动

我在抽屉上做了一些选择,可以去参加其他活动,但是:

  1. 如何使抽屉在其他活动中可见?
  2. 我该如何选择一个选项,当我当前处于活动中并再次按抽屉中的按钮(使我转至同一活动)时,它只会关闭抽屉? 是否可以检查我是否正在参加特定活动? 这是我带抽屉的主页:

     public class Main_Page extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main__page); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { Intent Home=new Intent(Main_Page.this,Main_Page.class); Intent Settings = new Intent(Main_Page.this,Settings.class); int id = item.getItemId(); if (id == R.id.Main_App) startActivity(Home); else if (id== R.id.nav_Settings) startActivity(Settings); else if (id == R.id.Nav_Log_Out) { super.onBackPressed(); } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; } } 

谢谢 !

这是不可能的,您有两种选择

  1. 对内容框架布局使用单个活动,并用不同的片段替换此布局
  2. 将多个活动与多个导航抽屉一起使用,每个活动的项目都标记为选中。

最后,两种解决方案都有其优缺点,这取决于您的业务逻辑以及每个部分的复杂程度

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM