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