【问题标题】:Handling Navigation Drawer处理导航抽屉
【发布时间】:2014-03-13 13:20:52
【问题描述】:

我有一个程序,我想实现一个滑动菜单。

首先我尝试了 Navigation Drawer Navigation Drawer,这正是我想要的,因为:

1) 它不会推动屏幕,它会覆盖它 2)当我点击左上角的按钮时,它会打开菜单 3)当我尝试点击另一个屏幕时

但另一方面:

我不想在左边有一个按钮,我希望用户点击屏幕上的一个按钮 并且每次出现不同的滑动菜单时。

我也试过jfeinstein10 Sliding Menu ,但它并没有覆盖屏幕,只是将它推开,他们告诉我不可能改变它。 但另一方面,它在某些方面更容易且更好。

那么任何想法如何 1)没有左上图标/按钮和 2)如何处理带有按钮的导航抽屉?

编辑:

我想要一个覆盖屏幕不推屏幕的滑动菜单

【问题讨论】:

    标签: android navigation-drawer slidingmenu


    【解决方案1】:

    你为什么不在Navigation Drawer 中设置一个ViewGroup,例如LinearLayout 和addView 以及通过膨胀创建的正确视图。然后 removeAllViews()

    点击按钮:

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View myView = inflater.inflate(R.layout.layout_i_want_in_my_drawer, null, false);
    navigationViewGroup.addView(myView);
    drawerToggle.openDrawer(Gravity.LEFT);
    

    在actionbardrawertoggle的ondrawerclose()中:

    navigationViewGroup.removeAllViews();
    

    此代码未经测试

    首先,按照官方教程:https://developer.android.com/training/implementing-navigation/nav-drawer.html

    【讨论】:

    • 你能给我一个链接,看看怎么做吗?
    【解决方案2】:

    有slider.jar android库为此提供更好的导航抽屉效果

    slide_me = new SimpleSideDrawer(this);
    
    slide_me.setRightBehindContentView(R.layout.setting_activity);
    

    在按钮点击时使用以下代码

     slide_me.toggleRightDrawer(); // for open drawer from right side
     slide_me.toggleLeftDrawer(); // for open drawer from left side 
    

    【讨论】:

    • 你是说Simple Drawer?因为我看到它的方式,它没有覆盖屏幕它正在推动屏幕,之后我不想在左边有一个按钮,而不是我想在我的主屏幕上有一个按钮来处理导航抽屉
    【解决方案3】:

    谢谢dumazy,我找到了一半的答案,多亏了 Add button to activity with navigation drawer。诀窍是在 Gravity 中,并创建一个方法以便在我的 onClick 侦听器中为特定按钮调用它。

    然后另一半只是为了打开导航抽屉而删除了提到左侧图像按钮的行中的代码。

    按钮 onClick 监听器:

        button.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                open();         }
        });
    

    方法:

            public void open(){
        mDrawerLayout.openDrawer(Gravity.LEFT);
       }
    

    【讨论】:

      猜你喜欢
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多