0

このように「メニューボタン」を押すとMy ActionBarが呼び出されます。そしてそれはうまくいっています

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_MENU){
    if (mActionBar.isShowing()) {
        mActionBar.hide();
    }
    else {
        mActionBar.show();
    }
}else if(keyCode == KeyEvent.KEYCODE_BACK){
    WebView  myWebView = (WebView)findViewById(R.id.webView1);
    myWebView.goBack();
}
return true;
}       

ActionBar が表示されているときにユーザーが画面に触れると、ActionBar が消えるはずです。
ただし、onTouch イベントは検出されません。なんで?

public boolean onTouch(View view, MotionEvent event) {
      switch(event.getAction() & MotionEvent.ACTION_MASK) {
      case MotionEvent.ACTION_DOWN:
            if (mActionBar.isShowing()) {
                mActionBar.hide();
            }
      case MotionEvent.ACTION_UP:
        break;
      case MotionEvent.ACTION_POINTER_UP:
        break;
      }
      return true;
    }

アップデート:

View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener(){
public boolean onTouch(View view, MotionEvent event) {
      switch(event.getAction() & MotionEvent.ACTION_MASK) {
      case MotionEvent.ACTION_DOWN:
            if (mActionBar.isShowing()) {
                mActionBar.hide();
            }
      case MotionEvent.ACTION_UP:
        break;
      case MotionEvent.ACTION_POINTER_UP:
        break;
      }
      return true;
    }

};

それはまだ動作しません:(

4

1 に答える 1

0

戻り値を false に変更

 return false;
于 2013-08-10T12:55:47.520 に答える