自定义Progress样式(原生progress方式实现)

来源:互联网 发布:软件项目助理职责 编辑:程序博客网 时间:2024/04/19 12:26

使用原生progress实现自定义风格的progress

今天无意间看到progress还可以使用layer-list实现多重样式,特在此记录下来:

  • 效果图
  • layer-list
  • 代码中使用

效果图

效果图

代码块

在drawable文件夹下创建myprogress.xml,例如:

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" >    <!-- 背景  gradient是渐变,corners定义的是圆角 -->    <item android:id="@android:id/background">        <shape>            <corners android:radius="10dp" />            <solid android:color="#F1F1F1" />        </shape>    </item>    <!-- 第二条进度条颜色 -->    <item android:id="@android:id/secondaryProgress">        <clip>            <shape>                <corners android:radius="10dip" />                <gradient                    android:angle="90.0"                    android:centerColor="#ac6079"                    android:centerY="0.45"                    android:endColor="#6c213a"                    android:startColor="#e71a5e" />            </shape>        </clip>    </item>    <!-- 进度条 -->    <item android:id="@android:id/progress">        <clip>            <shape>                <corners android:radius="10dip" />                <solid android:color="#fd5353" />            </shape>        </clip>    </item></layer-list>

在布局文件中用过android:progressDrawable=”@drawable/myprogress”使用

<ProgressBar        android:id="@+id/progressBar2"        style="?android:attr/progressBarStyleHorizontal"        android:layout_width="match_parent"        android:layout_height="10dp"        android:progress="10"        android:progressDrawable="@drawable/myprogress"        android:layout_marginTop="63dp" />
0 0
原创粉丝点击