Как настроить внешний вид SeekBar в Android? - PullRequest
11 голосов
/ 06 июля 2010

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

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

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

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

Ответы [ 2 ]

23 голосов
/ 06 июля 2010

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

  <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>

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

13 голосов
/ 06 июля 2010

Я не уверен насчет 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 AOSP checkout ).Вот пример из проекта с открытым исходным кодом.

...