如何只用按钮打开抽屉布局?

时间:2013-08-09 07:28:29

标签: android navigation-drawer drawerlayout

我正在开发具有标签结构的应用程序,并使用滑动动作在标签中移动。

但是现在,我想应用抽屉布局。问题是抽屉有滑动打开事件。我怎么能删除这个事件?我的想法是抽屉只能用按钮打开和关闭。这可能吗? 谢谢!

4 个答案:

答案 0 :(得分:24)

只需写下

drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

阻止菜单听取手势

并使用openDrawercloseDrawer更改菜单可见性

答案 1 :(得分:15)

默认情况下, DrawerLayout 最初是从视图中隐藏的,除非您在触发滑动事件时放置代码以打开Drawer

Navigation Drawer示例中,包含content_frame用于使用片段动态显示Drawer内的视图。

  <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

Fragment的{​​{1}}开始,您可以在某个地方添加一个按钮onCreateView(),其中包含此代码,

OnClickListener

您也可以使用*关闭抽屉。

   //For me a better way in avoiding a `null pointer` in getting the DrawerLayout
   final DrawerLayout drawer = (DrawerLayout) getActivity().findViewById(R.id.drawer_layout);
   btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                            //Opens the Drawer
                drawer.openDrawer(Your View, Usually a ListView);
            }

                return false;
        });

答案 2 :(得分:1)

你可以这样写

 mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            drawer.openDrawer(navigationView);

        }
    });

答案 3 :(得分:0)

如果要在片段内点击按钮的抽屉项目之间导航, 你可以用这个

((YourMainActivity)getActivity()).selectItem(position);