1、简单粗暴
style="?android:attr/progressBarStyleHorizontal"
(跑个题:@resource的方式可以获取到当前应用主题下的 style
属性值,which一般可以在属性文件夹 values
下找到;而?android或者?attr这种,表示从Theme中查找引用的资源名,经常用在多主题时的场景,属性值会随着主题而改变。)
2、自己写style
新建一个drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="1dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="1dip" />
<gradient
android:startColor="#006633"
android:centerColor="#eecc33"
android:centerY="0.75"
android:endColor="#009933"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="1dip" />
<gradient
android:startColor="#00ff66"
android:centerColor="#00cc66"
android:centerY="0.75"
android:endColor="#009966"
android:angle="270"
/>
</shape>
</clip>
</item>
</layer-list>
style样式表:
<style name="customProgressBar">
<item name="android:progressDrawable">@drawable/progress_horizontal</item>
<item name="android:indeterminateOnly">false</item>
<item name="android:minHeight">10dip</item>
<item name="android:maxHeight">10dip</item>
<item name="android:indeterminateDrawable">
@android:drawable/progress_indeterminate_horizontal
</item>
</style>
应用:style="@style/customProgressBar"