【发布时间】:2014-12-31 09:38:34
【问题描述】:
我想创建一个搜索栏,只有当用户拖动它时才会改变它的进度,当用户触摸它时它不应该改变进度。
在任何帮助之前有没有人这样做过
谢谢你 桑迪普·贾达夫
【问题讨论】:
-
这可能会对您有所帮助。 stackoverflow.com/a/16992969/2504200
标签: android seekbar android-seekbar
我想创建一个搜索栏,只有当用户拖动它时才会改变它的进度,当用户触摸它时它不应该改变进度。
在任何帮助之前有没有人这样做过
谢谢你 桑迪普·贾达夫
【问题讨论】:
标签: android seekbar android-seekbar
我不知道你真正想知道什么。
但每隔 1 秒使用一次处理程序,并在其中设置您的 seekprogress。 例如:
runnable = new Runnable() {
@Override
public void run() {
bar.setProgress(bar.getProgress() + 1);
}
};
【讨论】:
public class Slider extends SeekBar {
private Drawable mThumb;
public Slider(Context context) {
super(context);
}
public Slider(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setThumb(Drawable thumb) {
super.setThumb(thumb);
mThumb = thumb;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (event.getX() >= mThumb.getBounds().left
&& event.getX() <= mThumb.getBounds().right
&& event.getY() <= mThumb.getBounds().bottom
&& event.getY() >= mThumb.getBounds().top) {
super.onTouchEvent(event);
} else {
return false;
}
} else if (event.getAction() == MotionEvent.ACTION_UP) {
return false;
} else {
super.onTouchEvent(event);
}
return true;
}}
在下面的链接找到答案
【讨论】: