我正在使用搜索栏。我只想通过移动拇指来控制它。
如何禁用progressdrawable上的点击?
我试过了android:clickable="false"
,但它没有用。
我在XML中寻找条形码
<SeekBar
android:id="@+id/myseek"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:maxHeight="500dp"
android:minHeight="50dp"
android:paddingBottom="30dp"
android:progressDrawable="@drawable/progress_left"
android:thumb="@drawable/left_unlocker_bkg" >
</SeekBar>
onSeekChangedListner的我的Seekbar代码
unlockSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
toastText.setVisibility(View.GONE);
seekBar.setProgress(0);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
if (seekBar.getProgress() < 10) {
seekBar.setProgress(0);
}
toastText.setVisibility(View.VISIBLE);
toastText.setText("Slide to Unclock");
}
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
if (progress == 100) {
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(100);
finish();
}
}
});
目前,用户可以点击进度和拇指移动我想要禁用它。请帮忙
答案 0 :(得分:3)
您可以使用 android:enabled =“false”,但会显示禁用效果[使您的搜索栏变暗]。
因此,如果要显示启用搜索条而不响应拇指活动,请实现触摸事件处理程序,返回true,如下所示。
seekBar.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
答案 1 :(得分:0)
您需要处理搜索栏的触摸事件。我认为以下链接对您有所帮助。