安卓ProgressBar水平进度条的颜色设置
安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式。原因就是“太丑”^_^
所以我们在很多其它的时候须要对其颜色进行自己定义,主要使用就是自己定义样式文件。
再在drawable文件夹下新增progressbar.xml文件,能够设置默认背景色和进度条的颜色
(值得一提的是支持渐变色)
代码:
<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="0"
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="0"
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="0"
android:endColor="#8000ff00"
android:startColor="#80ff0000" />
</shape>
</clip>
</item>
</layer-list>
布局文件定义例如以下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".ProgressBarActivity">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="7.5dp"
android:max="100"
android:progress="80"
android:layout_marginRight="20dp"
android:progressDrawable="@drawable/progressbar"
android:visibility="visible"
android:layout_marginLeft="20dp" />
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="15dp"
android:max="100"
android:progress="50"
android:layout_marginRight="20dp"
android:progressDrawable="@drawable/progressbar"
android:visibility="visible"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"/>
<ProgressBar
android:id="@+id/progressBar3"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="15dp"
android:max="100"
android:progress="100"
android:layout_marginRight="20dp"
android:progressDrawable="@drawable/progressbar"
android:visibility="visible"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"/>
<ProgressBar
android:id="@+id/progressBar4"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:max="100"
android:progress="100"
android:layout_marginRight="20dp"
android:progressDrawable="@drawable/progressbar"
android:visibility="visible"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"/>
</LinearLayout>
------------结束-------------
<?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:startColor="#fff"
android:endColor="#fff" />
</shape>
</item>
<!-- 设置进度条颜色(白色) -->
<item android:id="@android:id/progress" >
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="#ffca12"
android:endColor="#ffca12" />
</shape>
</clip>
</item>
</layer-list>
浙公网安备 33010602011771号