在项目中遇到这样的问题:某些情况下需要禁止ScrollBar的滑动操作,这个要如何实现呢?
误区:采用setEnable(false),很多人说这样操作就行,其实,试过的人都知道,这样仍然不能禁止滑动操作,因此这个方法是错误的。
正确方法:设置一个标志位boolean mSwitch=false,在需要禁止滑动时mSwitch = true;然后在onTouch事件中直接返回true:
@Override
public boolean onTouch(View v, MotionEvent event) {
if(!mSwitch)
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_UP:
break;
........//你的操作代码//
}
}
else
return true;
return false;
注:别忘设置对象的setClickable(true);要不然onTouch事件有可能监控不到哦