Lea*_*ros 16 user-interface android seekbar
如果值为true,我想阻止拖动搜索条.这甚至可能吗?我使用搜索栏作为开关.如果我的搜索栏值为0,则按下按钮操作A开始.如果我的搜索栏值为1并且按下按钮,则启动操作B.
我想防止如果操作A或B正在运行,则搜索栏被拖动到另一个位置.
我怎样才能做到这一点?
小智 66
您应该设置自己的onTouchListener并返回true.
seekBar.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
你试过禁用视图吗?
参考:http: //developer.android.com/reference/android/view/View.html#setEnabled(boolean)
更新:
理想情况下,您不应该这样做,因为这会让用户感到困惑.我的建议是重新思考你的方法.
设置一个类级别变量
private boolean blockSeekBar = false;
Run Code Online (Sandbox Code Playgroud)
之后blockSeekBar根据您的要求设置变量并在应用程序中使用。
seekBar.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return blockSeekbar;
}
});
Run Code Online (Sandbox Code Playgroud)
setEnabled(true/false)也是选择,但视图显示效果不佳,这就是为什么上面的代码完美工作的原因。