Отключить изменения в seekbar клиентом

У меня есть панель поиска, которая изменит прогресс, когда я этого потребую, но я не хочу, чтобы пользователь мог изменить ее вручную.

Я попытался установить панель поиска следующим образом:

<SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="78dp"
        android:progress="10"
        android:max="100"
        android:clickable="false"
        android:thumb="@drawable/transparent"
        android:progressDrawable="@drawable/customprogressbar" />

но это не работает.

Как я могу это сделать?


Это более или менее пример того, как это будет воспринято клиентом.

я использовал пользовательский стиль, потому что в будущем мне нужно будет изменить фоновые изображения и прогресс в зависимости от того, какой раздел SeekBar будет.

Спасибо за все!

No given description by asker

3 ответов


одна вещь вы можете сделать, это отключить компонент seekbar, Как seekbar.setEnabled(false)

doing so framework не будет принимать никаких Событие касания от пользователя и вас Изменить уровень прогресса можно только с помощью кода.

Я надеюсь, что это поможет вам.......


можно использовать андроида: "включено" ="ложно" , но он будет отображать отключить эффект [затемните панель поиска].

поэтому, если вы хотите отобразить enable seekbar без ответа на действие thumb, реализуйте обработчик событий touch с возвращением true, как показано ниже.

seekBar.setOnTouchListener(new OnTouchListener(){
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    return true;
 }
});

просто верните false из метода onTouch класса CustomSeekBar.

надеюсь, что это работает !