处理导航抽屉

时间:2014-03-13 13:20:52

标签: android navigation-drawer slidingmenu

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

首先我尝试了导航抽屉Navigation Drawer,这是我基本上想要的,因为:

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

但另一方面:

我不想要左边的按钮,我希望用户点击屏幕上的按钮 每当出现不同的滑动菜单时。

我也试过了jfeinstein10 Sliding Menu ,但它并没有覆盖屏幕,它只是推开它,他们告诉我,它无法改变它。 但另一方面,在某些方面它很容易和更好。

所以任何想法如何1)没有左边的图标/按钮和2)如何用按钮处理导航抽屉?

修改

我想要一个覆盖屏幕而不是按屏幕的滑动菜单

3 个答案:

答案 0 :(得分:0)

有一个slider.jar安卓库,可以为导航抽屉提供更好的结果

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 

答案 1 :(得分:0)

为什么不在ViewGroup设置Navigation Drawer,例如LinearLayout,使用正确的视图设置addView,通过膨胀创建。然后删除AllViews()

点击按钮

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);

in actionbardrawertoggle" ondrawerclose():

navigationViewGroup.removeAllViews();

此代码未经过测试

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

答案 2 :(得分:0)

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

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

按钮onClick Listener:

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            open();         }
    });

方式:

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