设置自定义ProgressBar样式

在安卓开发中, 根据客户需求,需要自定义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);
   

看一下效果图:

其实也可以直接在布局文件中进行设置,看自己平常使用习惯

猜你喜欢

转载自blog.csdn.net/CjhLoveAndroid/article/details/82597888