リストをDrawerLayout
含む があります。スワイプクローズを無効にしたいので、閉じる方法は戻るボタンをクリックするか、引き出しの非アクティブ領域をクリックすることです。
この動作を実装する良い方法はありますか?
リストをDrawerLayout
含む があります。スワイプクローズを無効にしたいので、閉じる方法は戻るボタンをクリックするか、引き出しの非アクティブ領域をクリックすることです。
この動作を実装する良い方法はありますか?
Aakash Goyal の答えは半分のトリックを行いました:
Indeed 無効ジェスチャを使用して引き出しロック モードを設定することはDrawerLayout.LOCK_MODE_LOCKED_CLOSED
、私が望んでいたとおりです。ただし、その場合、[戻る] ボタンを押して引き出しを閉じることもできませんでした。
そのため、バック プレスを傍受して引き出しを閉じるためのコードも追加しました。
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()
Navigation Drawer の機能をDrawerLayout.LOCK_MODE_LOCKED_CLOSED
パラメーターとして使用して、ジェスチャーを無効にすることができます