How to customize the look of a SeekBar in Android?
I use a SeekBar
in my application and I would like to customize it a little bit. I already figured 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
Viewis only clipped and it only shows the top piece of the
SeekBar`:
<SeekBar
android:layout_height="开发者_如何学Python10dip"
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
.
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.
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.
精彩评论