Как настроить внешний вид SeekBar в Android?

Я использую SeekBar в своем приложении, и я хотел бы немного его настроить. Я уже понял, как изменить Drawable для большого и заднего фона.

Мой вопрос в том, как изменить размер SeekBar? Если я просто изменяю высоту SeekBar like this, the Вид is only clipped and it only shows the top piece of the SeekBar`:

<SeekBar
   android:layout_height="10dip"
   style="@style/seekbar_style" />

Как изменить общий размер SeekBar? Я хочу, чтобы он был намного тоньше, чем стандартный SeekBar.

Ответ 1

Я не уверен в Seekbars, но Progressbars можно настроить с помощью пользовательского стиля (определенного в ваших styles.xml), например:

<style name="MyCustomProgressStyle">
    <item name="android:indeterminateOnly">false</item>
    <item name="android:progressDrawable">@drawable/custom_progress_drawable</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
    <item name="android:minHeight">10dip</item>
    <item name="android:maxHeight">10dip</item>
</style>

Затем вы можете настроить пользовательский чертеж, основанный на системе Android progress_horizontal.xml (он находится в папке frameworks/base/core/res/drawable пример из проекта с открытым исходным кодом.

Ответ 2

У вас есть эквивалент этого индикатора хода для поиска:

  <style name="Widget.SeekBar">
    <item name="android:indeterminateOnly">false</item>
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:minHeight">20dip</item>
    <item name="android:maxHeight">20dip</item>
    <item name="android:thumb">@android:drawable/seek_thumb</item>
    <item name="android:thumbOffset">8px</item>
    <item name="android:focusable">true</item>
  </style>

Таким образом, вы можете переопределить все это и сделать это по-своему, как вы это сделаете для заголовка, определив свой собственный стиль.