首页 > 系统 > Android > 正文

Android自定义view实现进度条指示效果

2019-12-12 03:55:28
字体:
来源:转载
供稿:网友

先看看效果图:

首先是布局文件

<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();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表