我已成功使用official documentation和一些教程实现了导航抽屉。这完全没问题。
现在,我添加了应用内购买来解锁我的应用的全部功能。可通过导航抽屉访问此额外功能。我有一个布尔值,根据用户是否进行此次购买,在活动的true
中获得false
或onCreate()
值。
到目前为止一切顺利。
现在,如果布尔值为false
,我不想锁定导航抽屉。这样做的好/正确方法是什么?我是否需要在抽屉被切换或受影响的所有子片段上添加if-else
块?有没有我可以方便地使用的通用锁?
更新:在查看this问题后,我尝试在drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
中使用Activity.onCreate()
,但无效。
答案 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);
}
}
这可能对你有帮助。