我有一個DrawerLayout
包含一個列表。 我想禁用它的滑動關閉,所以關閉它的方法是單擊後退按鈕或單擊抽屜的非活動區域。處理刷卡並單擊不同的方式關閉DrawerLayout
是否有一個很好的實踐這種行爲?
我有一個DrawerLayout
包含一個列表。 我想禁用它的滑動關閉,所以關閉它的方法是單擊後退按鈕或單擊抽屜的非活動區域。處理刷卡並單擊不同的方式關閉DrawerLayout
是否有一個很好的實踐這種行爲?
Aakash戈亞爾的答案已經完成了一半的伎倆:
設置與DrawerLayout.LOCK_MODE_LOCKED_CLOSED
事實上禁用手勢抽屜鎖定模式正是我通緝。然而,在這種情況下,它也禁用Back按鈕關閉抽屜。
所以我還添加代碼攔截背襯和關閉抽屜:
mDrawerLayout.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT))
{
mDrawerLayout.closeDrawer(Gravity.RIGHT);
return true;
}
}
return false;
}
});
而且,我已經改變了鎖定模式解鎖當抽屜關閉掉 - 因爲我還是想允許它在滑動時打開。
您可以使用抽屜式導航欄的setDrawerLockMode()
函數DrawerLayout.LOCK_MODE_LOCKED_CLOSED
作爲參數來禁用手勢