在控制滑动效果的时候这样会更好一些?
//
首先添加一个全局的boolean值 isShow 默认为false;
public boolean onTouchEvent(MotionEvent ev) {
int action = ev.getAction(); // 几种case:按下、抬起、移动
// 在本例中,scrollview已经包含了控制move和down的事件,不需要做额外处理也能滑出或隐藏菜单,所以只需要判断up的时候的事件。
switch (action) {
case MotionEvent.ACTION_UP:
int ScrollX = getScrollX(); // 隐藏在左边的宽度
// 隐藏区域小于菜单宽度的某部分时(比如1/2或者其他效果更好的参数),显示菜单,反之隐藏整个菜单
if (!isShow && ScrollX <= mMenuWidth * 4 / 5) {
this.smoothScrollTo(0, 0);// 显示菜单
isShow = true;
} else if (ScrollX >= mMenuWidth * 1 / 5) {
this.smoothScrollTo(mMenuWidth, 0);// 隐藏菜单
isShow = false;
} else {
this.smoothScrollTo(0, 0);// 显示菜单
isShow = true;
}
return true;
}
return super.onTouchEvent(ev);
}