为了账号安全,请及时绑定邮箱和手机立即绑定

为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???

为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???

正在回答

1 回答

@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();
   }
}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
QQ5.0侧滑菜单
  • 参与学习       62531    人
  • 解答问题       295    个

本教程将带领大家通过自定义控件实现QQ5.0侧滑菜单

进入课程

为什么那个切换菜单的按钮,只要点击了其他地方,就要点两下才有响应???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信