当前位置:  开发笔记 > Android > 正文

如何在android中的导航菜单中创建一个子级?

如何解决《如何在android中的导航菜单中创建一个子级?》经验,为你挑选了1个好方法。

我想达到这样的效果:

http://mmenu.frebsite.nl/

当您单击文档/教程/支持时,菜单将转到子级菜单.它不是可扩展的列表视图,也不是父菜单标题下的子菜单项.

我尝试使用导航视图创建菜单,如下所示:



    
        
        
    

    
        
            
            
        
    

问题是,当我点击父菜单标题时,它不会转到子级.如何在android中实现?非常感谢



1> Konstantin L..:

我相信,我存档了预期的效果:

在此输入图像描述

背后的想法是clear()现有的菜单,inflateMenu每次用户点击菜单项,这将导致一个子菜单.(回来的时候 - 几乎一样)

作为根菜单(activity_main_drawer.xml),我使用了这个:



    
        
        
    

这是一个子菜单(activity_submenu_drawer.xm):




    

    
    

MainActivity.xml :




    

    


这是MainActivity班级(进行转换):

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    NavigationView navigationView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        .....
        navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.inflateMenu(R.menu.activity_main_drawer);
        navigationView.setNavigationItemSelectedListener(this);
    }

    ....


    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.action_expand) {
            navigationView.getMenu().clear();
            navigationView.inflateMenu(R.menu.activity_submenu_drawer);
        } else if (id == R.id.back_to_main) {
            navigationView.getMenu().clear();
            navigationView.inflateMenu(R.menu.activity_main_drawer);
        }

        return true;
    }
}

我已将我的测试项目上传到我的Dropbox - 随时查看它

我希望,这有帮助

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有