3

我想隐藏我在触摸时覆盖的顶部操作栏,然后在另一次触摸时再次显示它。不知何故,我可能应该在某些东西上添加一个 onTouchListener 但如何?该事件仅应在其他处理程序未使用时处理,以便当我滑动更改图像等时我的多点触控仍然有效。谢谢。

4

1 回答 1

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;   
}
于 2012-08-18T21:23:45.573 回答