为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???
为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???
为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???
2016-01-13
@Override
public boolean onTouchEvent(MotionEvent ev) {
int action=ev.getAction();
switch (action){
case MotionEvent.ACTION_UP:
int scrollx=getScrollX();//获取滑动的宽度;
if (scrollx>=mMenuWidth/2){
this.smoothScrollTo(mMenuWidth, 0);
//有个过程this.scrollTo();是一瞬间完成;smoothScrollTo(0, 0);
isOpen=false;
}else {
this.smoothScrollTo(0, 0);
isOpen=true;
}
return true;//一定要返回true不然要调用super.onTouchEvent(ev)
}
return super.onTouchEvent(ev);
}
/**
* 打开菜单
*/
public void openMenu()
{
if (isOpen)
return;
this.smoothScrollTo(0, 0);
isOpen = true;
}
public void closeMenu() {
if (!isOpen)
return;
this.smoothScrollTo(mMenuWidth, 0);
isOpen = false;
}
/**
* 切换菜单
*/
public void toggle() {
if (isOpen) {
closeMenu();
} else {
openMenu();
}
}
举报