在安卓开发中, 根据客户需求,需要自定义ProgressBar样式
在drawable目录下新增progressbar.xml文件,设置颜色、宽度、向左向右等样式
progressbar1.xml文件代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--3个层的顺序即为显示时的叠加顺序-->
<!--背景颜色-->
<item android:id="@android:id/background">
<shape>
<corners android:radius="10dp"/>
<solid android:color="#FBAbAF"/>
</shape>
</item>
<!--二级进度条颜色-->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="10dp"/>
<solid android:color="#FF0000"/>
</shape>
</clip>
</item>
<!--一级进度条颜色-->
<item android:id="@android:id/progress">
<clip
android:gravity="right">
<shape>
<corners android:radius="10dp"/>
<solid android:color="#FF0000"/>
</shape>
</clip>
</item>
</layer-list>
这里也可以给ProgressBar样式设置图片
android:gravity="right" 设置ProgressBar从右边开始(系统默认是从左边开始)
布局文件代码:
<ProgressBar
android:id="@+id/find_pk1_progressBar"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/find_pk1"
android:layout_alignBottom="@id/find_pk1"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:max="100"
android:progress="40"
/>
java文件代码:
Drawable progressDrawable1=this.getActivity().getResources().getDrawable(R.drawable.prograssbar1);
find_pk1_progressBar.setProgressDrawable(progressDrawable1);
find_pk1_progressBar.setProgress(20);
看一下效果图:
其实也可以直接在布局文件中进行设置,看自己平常使用习惯