views:

157

answers:

2

I use a seekbar in my application and would like to customize it a little bit.

I already figures out how to change the drawable for the thumb and for the background.

My question is how to change the size of the seekbar? If I just change the height of the 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" />

How do I change the overall size of the Seekbar? I want it to be much thinner then the standard seekbar.

+1  A: 

I'm not sure about Seekbars, but Progressbars can be customized by using a custom style (defined in your styles.xml) like so:

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

Then you can set up a custom drawable based on the android system's progress_horizontal.xml (it's in the frameworks/base/core/res/drawable folder of an AOSP checkout). Here's an example from an open-source project.

Yoni Samlan
+2  A: 

You have the equivalent of this of the Progress Bar for the seekbar indeed :

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

So you might want to override all this and do it your way, as you would do it for the title bar, by defining your own style.

Sephy