简体   繁体   English

Android-Open导航抽屉只需点击AppIcon即可

[英]Android-Open Navigation Drawer just with Click on AppIcon

There is a way to disable the navigation drawer to open with a swipe? 有一种方法可以通过滑动禁用导航抽屉打开? I have a Swipe to dismiss ListView and sometimes the user trigger the navigationDrawer while he want to delet an item of the list. 我有一个轻扫以解除ListView,有时用户触发navigationDrawer,而他想要删除列表中的项目。 Thanks. 谢谢。

使用mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

这应该可以解决问题

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

if you want to prevent the drawer to be opened by swipe and close normally This Is the Trick! 如果你想通过滑动防止抽屉打开并正常关闭这就是诡计!

       // Drawer Layout
        final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar,R.string.hello_world, R.string.action_settings){

            @Override
            /** Called when a drawer has settled in a completely closed state. */
            public void onDrawerClosed(View view) {
                Log.d("here","close");
                drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            }
            @Override
            /** Called when a drawer has settled in a completely open state. */
            public void onDrawerOpened(View drawerView) {
                Log.d("here","open");
                drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
            }
        };
        drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
        toggle.setDrawerIndicatorEnabled(true);
        drawerLayout.setDrawerListener(toggle);
        toggle.syncState();

the tricky part is, you should lock the drawer when it is close and unlock it again when it is open! 棘手的部分是,你应该在它关闭时锁定抽屉,并在它打开时再次解锁!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM