6

我正在开发具有选项卡结构的应用程序,并使用滑动移动来移动选项卡。

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

4

4 回答 4

24

写吧

drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

防止菜单听手势

并使用openDrawercloseDrawer更改菜单可见性

于 2013-08-13T02:56:56.693 回答
16

默认情况下,DrawerLayoutDrawer最初是从视图中隐藏的,除非您在触发滑动事件时输入代码来打开它。

Navigation Drawer示例中,containcontent_frame用于在Drawer使用片段内动态显示视图。

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

Fragment'sonCreateView()中,您可以在某处包含一个按钮,该按钮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;
        });

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

drawer.closeDrawer(Your View, Usually a ListView);
于 2013-08-13T02:37:59.593 回答
1

你可以这样写

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

            drawer.openDrawer(navigationView);

        }
    });
于 2016-11-06T11:15:38.553 回答
0

如果您想通过单击片段内的按钮在抽屉项目之间导航,您可以使用它

((YourMainActivity)getActivity()).selectItem(position);
于 2014-03-26T09:36:26.417 回答