私はDrawerLayout
自分のアプリケーションで使用しています。最初に戻るボタンを押すと、閉じDrawerLayout
て、戻るボタンをもう一度クリックする必要があり、前の画面にリダイレクトされます。
DrawerLayout
しかし、この戻るボタンを閉じるのは避けたいです。誰でもこれを防ぐ方法を知ることができますか?
私がこれにこだわっている方法を教えてください。
前もって感謝します。
私はDrawerLayout
自分のアプリケーションで使用しています。最初に戻るボタンを押すと、閉じDrawerLayout
て、戻るボタンをもう一度クリックする必要があり、前の画面にリダイレクトされます。
DrawerLayout
しかし、この戻るボタンを閉じるのは避けたいです。誰でもこれを防ぐ方法を知ることができますか?
私がこれにこだわっている方法を教えてください。
前もって感謝します。
DrawerLayout
onKeyDown
デフォルトをインターセプトするonKeyUp
ため、拡張された新しいクラスを作成しDrawerLayout
、このメソッドをオーバーライドするだけです
このようなもの:
import android.content.Context;
import android.support.v4.widget.DrawerLayout;
import android.util.AttributeSet;
import android.view.KeyEvent;
public class MyDrawerLayout extends DrawerLayout {
public MyDrawerLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyDrawerLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyDrawerLayout(Context context) {
super(context);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return false;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return false;
}
return super.onKeyDown(keyCode, event);
}
}
ドロワーをフォーカス不可にするだけで、戻るボタンをインターセプトしなくなります。
mDrawerLayout.setFocusable(false);
スライド アクティビティでこれを試してみてください。バック キーを簡単に処理できます: https://github.com/jfeinstein10/SlidingMenu
使用する
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}
または単に keydown イベントで super.onBackPressed() を呼び出します。
戻るボタンのクリックで finish() 関数を使用する