在Android中禁用导航抽屉

时间:2014-11-21 05:25:33

标签: android navigation-drawer

我已成功使用official documentation和一些教程实现了导航抽屉。这完全没问题。

现在,我添加了应用内购买来解锁我的应用的全部功能。可通过导航抽屉访问此额外功能。我有一个布尔值,根据用户是否进行此次购买,在活动的true中获得falseonCreate()值。

到目前为止一切顺利。

现在,如果布尔值为false,我不想锁定导航抽屉。这样做的好/正确方法是什么?我是否需要在抽屉被切换或受影响的所有子片段上添加if-else块?有没有我可以方便地使用的通用锁

更新:在查看this问题后,我尝试在drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)中使用Activity.onCreate(),但无效

1 个答案:

答案 0 :(得分:2)

你可以这样做。

// enable or disable slide menu
public void setDrawerLayoutEnable(boolean what) {
    if (what) {
        // Drawer will be open through swipe by user
        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
    } else {
        // User will not be able to open Drawer but it can be open from application programmatically 
        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    }
}

这可能对你有帮助。