先看看效果图:
首先是布局文件
<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"
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();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。