在触摸android上隐藏操作栏

时间:2012-08-18 20:57:37

标签: android touch hide android-actionbar

我想隐藏我在触摸时覆盖的顶部操作栏,然后在另一次触摸时再次显示它。不知怎的,我应该添加一个onTouchListener但是如何?只有当其他处理程序没有使用该事件时才能处理该事件,这样当我滑动更改图像等时,我的多点触控仍然可以工作。 感谢。

1 个答案:

答案 0 :(得分:6)

这样的东西应该有用(不是经过测试的代码 - 所以需要一点点盐)

基本上,覆盖onTouch,并调用其超级方法,以免失去功能。检查是否已消耗,否则切换或显示/隐藏操作栏的任何内容。

Boolean showBar = true; // Global variable

@Override
public boolean onTouch(View v, MotionEvent event) {
   Boolean result = super.onTouch(v,event);

   if(!result) // False - Not consumed event.
   {
       if(showBar) // Toggle action bar visiblity
          getActionBar().hide();
       else
          getActionBar().show();

       showBar = !showBar;
   }
   return result;   
}