我已经设置了水平ProgressBar
。
我想把进度颜色改成黄色。
<ProgressBar
android:id="@+id/progressbar"
android:layout_width="80dip"
android:layout_height="20dip"
android:focusable="false"
style="?android:attr/progressBarStyleHorizontal" />
问题是,进度颜色在不同的设备上是不同的。所以,我想让它修复进度的颜色。
发布于 2011-04-21 23:03:14
我从我的一个应用程序中复制了这个,所以有一些额外的属性,但应该会给你一个想法。这来自具有进度条的布局:
<ProgressBar
android:id="@+id/ProgressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:indeterminate="false"
android:maxHeight="10dip"
android:minHeight="10dip"
android:progress="50"
android:progressDrawable="@drawable/greenprogress" />
然后创建一个新的可绘制文件,其中包含类似以下内容的内容(在本例中为greenprogress.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="5dip" />
<gradient
android:angle="270"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:startColor="#ff9d9e9d" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:angle="270"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:startColor="#80ffd300" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:angle="270"
android:endColor="#008000"
android:startColor="#33FF33" />
</shape>
</clip>
</item>
</layer-list>
您可以根据需要更改颜色,这将给您一个绿色的进度条。
发布于 2013-02-01 02:43:36
一个更简单的解决方案:
progess_drawable_blue
<?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>
<solid
android:color="@color/disabled" />
</shape>
</item>
<item
android:id="@android:id/progress">
<clip>
<shape>
<solid
android:color="@color/blue" />
</shape>
</clip>
</item>
</layer-list>
发布于 2017-09-25 19:00:26
只需在values/styles.xml
中创建一个样式。
<style name="ProgressBarStyle">
<item name="colorAccent">@color/greenLight</item>
</style>
然后将此样式设置为您的ProgressBar
主题。
<ProgressBar
android:theme="@style/ProgressBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
不管你的进度条是水平的还是圆形的。就这样。
https://stackoverflow.com/questions/5745814
复制相似问题