您的位置:首页 > 移动开发 > Android开发

Android 自定义横向的ProgressBar的颜色

2014-06-18 18:05 405 查看
1、首先在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>

<!-- 这个是设置圆角还会直角,如果设置成0dip就是直角 -->
<corners android:radius="5dip" />
<!-- 设置背景的颜色,将startColor、centerColor、endColor都设置成同一个颜色值 -->
<!--
如果你不用颜色值也可以,可以直接用图片来代替,在item中添加这个属性就可以了,其他的不需要
android:drawable="@drawable/progressbar_bg"
-->
<gradient
android:angle="270"
android:centerColor="#a6e1ca"
android:centerY="0.75"
android:endColor="#a6e1ca"
android:startColor="#a6e1ca" />
</shape>
</item>
<!-- 这个是第二进度条的颜色,没用到,大同小异 -->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />

<gradient
android:angle="270"
android:centerColor="#80C07AB8"
android:centerY="0.75"
android:endColor="#a0C07AB8"
android:startColor="#80C07AB8" />
</shape>
</clip>
</item>
<!-- 这个是设置你进度的颜色 -->
<item android:id="@android:id/progress">
<clip>
<shape>

<!-- 这个也是设置时圆角还是直角,左边的 -->
<corners android:radius="5dip" />
<!-- 设置进度的颜色,将startColor、centerColor、endColor都设置成同一个颜色值 -->
<gradient
android:angle="270"
android:centerColor="#65cea6"
android:centerY="0.75"
android:endColor="#65cea6"
android:startColor="#65cea6" />
</shape>
</clip>
</item>

</layer-list>
这个文件很重要,有什么不明白的,看注释就明白了

然后在style.xml文件中增加progressbar的样式

<style name="progressBarHorizontal_color" parent="android:Widget.ProgressBar.Horizontal">
<item name="android:indeterminateOnly">false</item>
<!-- 这个属性就是配置进度的颜色和背景的颜色 -->
<item name="android:progressDrawable">@drawable/progress_color_horizontal</item>
<item name="android:minHeight">5dip</item>
<item name="android:maxHeight">5dip</item>
</style>

然后在你的布局文件中添加style就可以了
<ProgressBar
android:id="@+id/progress_horizontal_color"
style="@style/progressBarHorizontal_color"
android:layout_width="200dip"
android:layout_height="10dip"
android:indeterminate="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dip"
android:max="200"
android:progress="51" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: