Android自定义view实现进度条指示效果
程序员文章站
2023-12-21 21:04:22
先看看效果图:
首先是布局文件
先看看效果图:
首先是布局文件
<framelayout android:layout_width="match_parent" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:layout_height="wrap_content"> <progressbar android:id="@+id/pb_process" style="@style/progressstyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" /> <textview android:id="@+id/tv_progress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textcolor="@color/white"/> </framelayout>
添加style-progressstyle
<style name="trainprogressstyle" parent="@android:style/widget.progressbar.horizontal"> <item name="android:progressdrawable">@drawable/my_progress</item> </style>
添加drawable-my_progress
<?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:angle="270" android:centery="0.75" android:endcolor="@color/gray_bb" android:startcolor="@color/gray_bb" /> </shape> </item> <item android:id="@android:id/secondaryprogress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:angle="270" android:centercolor="#f69200" android:centery="0.75" android:endcolor="#ff9800" android:startcolor="#ff9800" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <level-list> <!-- 进度满时 level = 10000--> <item android:maxlevel="10000" android:minlevel="10000"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:angle="270" android:centercolor="#21a837" android:centery="0.75" android:endcolor="#22ac38" android:startcolor="#22ac38" /> </shape> </clip> </item> <!-- 进度未满时 level < 10000--> <item android:minlevel="0" android:maxlevel="9999" > <clip> <shape> <corners android:radius="5dip" /> <gradient android:angle="270" android:centercolor="#f69200" android:centery="0.75" android:endcolor="#ff9800" android:startcolor="#ff9800" /> </shape> </clip> </item> </level-list> </item> </layer-list>
activity里的使用和安卓默认的一样
pb_progress.setmax(); pb_progress.setprogress();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。