我在代码中使用SeekBar时出现问题...
我想要一个SeekBar,其值由我设置,而不是由用户设置。我创建的唯一解决方案,我不喜欢,设置启用为false,但搜索栏的颜色变为灰色......(所以当用户滑动拇指时,我无法做任何事情......)
我会得到类似的东西,但没有可触摸的事件!
解决:
我解决了这个问题,正如@CommonsWare所说:
public class TaskListProgressBar extends SeekBar {
public TaskListProgressBar(Context context) {
super(context);
}
public TaskListProgressBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TaskListProgressBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return true;
}
@Override
public boolean onTrackballEvent(MotionEvent ev) {
return false;
}
答案 0 :(得分:3)
您可以对其进行子类化并覆盖onTouchEvent()
和onTrackballEvent()
(以便尝试使用拇指进行所有尝试)并使用android:focusable="false"
(以防止它获得焦点,因此箭头键无法修改拇指位置)。
话虽如此:
我从未尝试过这个,所以YMMV。
如果您要根据上面的屏幕截图更改默认的拇指图像,请执行此操作。否则,用户会期望拇指可以移动,当他们无法移动时,他们会感到沮丧。