我在我的应用程序中使用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
更薄。
答案 0 :(得分:23)
您确实拥有与搜索栏相同的进度条:
<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>
所以你可能想要覆盖所有这些并按照自己的方式去做,就像你为标题栏所做的那样,通过定义你自己的风格。
答案 1 :(得分:13)
我不确定Seekbars,但可以使用自定义样式(在styles.xml中定义)来自定义Progressbars,如下所示:
<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
设置一个自定义drawable(它位于AOSP checkout的frameworks/base/core/res/drawable
文件夹中)。这是来自开源项目的an example。