Создание пользовательского тонкого ProgressBar / Seekbar

На высоком уровне я сделал несколько стилей индикатора выполнения, но все они уродливы, когда я пытался сделать их тонкими.

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

введите здесь описание изображения

Любые идеи? Я буду рад опубликовать результаты, когда/если я заставлю их работать.


person Du3    schedule 14.08.2011    source источник
comment
Вы пытались установить прогресс рисования и большого пальца?   -  person Ronnie    schedule 14.08.2011
comment
Ну да. Вот что надо делать во что бы то ни стало. Я больше ищу примеры, работу или учебные пособия о том, как сделать тонкий индикатор выполнения.   -  person Du3    schedule 14.08.2011
comment
Вы найдете очень хороший учебник здесь   -  person Ronnie    schedule 14.08.2011
comment
Спасибо за предложение. Я использовал учебник раньше. Я специально ищу тот, который использует тонкую панель поиска, как на изображении. Спасибо еще раз.   -  person Du3    schedule 14.08.2011
comment
не вижу большой разницы. Должен удовлетворить ваши потребности. Просто вопрос изменения xml n drawables.   -  person Ronnie    schedule 14.08.2011
comment
Вы превратили свой актив в 9-патч? Система просмотра автоматически обработает изменение размера. Вот так делаются кнопки и т.д., и у нас отличные результаты 9-заплатка бордюров и тому подобное.   -  person escape-llc    schedule 19.10.2011
comment
Я попытался сделать 9 изображений патчей, но с треском провалился. Я заставил его работать с маленьким большим пальцем, а не с большим. Я хотел бы вернуться к этому в будущем, хотя. Спасибо за предложение.   -  person Du3    schedule 21.10.2011


Ответы (1)


Существует свойство android:maxHeight, которое делает именно то, что вам нужно. Вы должны установить android:thumb drawable больше, чем maxHeight, чтобы добиться эффекта гладкой панели поиска.

Например:

  <SeekBar
      android:id="@+id/whiteBalanceSeek"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="3dp"
      android:max="200"
      android:maxHeight="3dp"
      android:paddingLeft="10dp"
      android:paddingRight="10dp"
      android:progress="100"
      android:progressDrawable="@drawable/slider_progress"
      android:thumb="@drawable/thumb_img" />

Рисунок slider_progress был взят из здесь, а thumb_img это голый PNG с красным кругом.

Вот что я получил:

Гладкие ползунки

person Sergii Rudchenko    schedule 09.11.2011
comment
можете ли вы поделиться слайдером_прогрессом и thumb_img, я думаю, что ключом является progressDrawable и thumb - person pengwang; 15.11.2011
comment
в progressDrawable нет ничего особенного. Я повторно использовал XML отсюда: stackoverflow.com/questions/2020882/ И изображение большого пальца представляет собой голый красный круг PNG - person Sergii Rudchenko; 21.11.2011
comment
У меня есть сомнение... Разве maxHeight не должно быть высотой всего SeekBar и, следовательно, отрезать даже большой палец, если он превышает его? Почему это работает только для progressBar? - person Veneet Reddy; 01.08.2017
comment
@VeneetReddy Это потому, что maxHeight принадлежит суперклассу SeekBar: ProgressBar, что означает высоту строки, за исключением большого пальца. developer.android.com/reference/android/widget/ - person Sergii Rudchenko; 01.08.2017
comment
понятно! Спасибо! - person Veneet Reddy; 01.08.2017