1.在布局文件加入控件
<ProgressBar
android:id="@+id/progressBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="180px"
android:layout_height="70px"
android:layout_gravity="center"
android:progressDrawable="@drawable/progressbar_bg1"
android:max="100"
android:progress="50" />
2.创建xml文件
android:progressDrawable属性的文件在drawable文件夹中加入xml文件,由于电量需要动态设置电量颜色,故此处加载两个文件progressbar_bg1.xml和progressbar_bg2.xml
progressbar_bg1.xml文件(电量 > 20%时使用)
progressbar_bg2.xml文件(电量 <= 20%时使用)
****修改progressbar_bg1.xml文件中进度的color值即为progressbar_bg2.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 android:shape="rectangle">
<solid android:color="#808080" />
<corners android:radius="20px" />
</shape>
</item>
<!--进度-->
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<solid android:color="#149EFF" />
<corners android:radius="20px" />
</shape>
</clip>
</item>
</layer-list>
3.progressBar代码具体实现
if (nBattery > 20) {//nnBattery为电量值
progressBar.setProgressDrawable(getResources().getDrawable(R.drawable.progressbar_bg));
} else {
progressBar.setProgressDrawable(getResources().getDrawable(R.drawable.progressbar_small));
}
progressBar.setProgress(nBattery);