时间:2020-10-06 21:53:08 | 栏目:Android代码 | 点击:次
1,实现效果
2,实现代码:
【1】 shape_drawable.xml 文件
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="20dp" android:shape="ring" android:thickness="8dp" android:useLevel="false" > <gradient android:angle="0" android:startColor="@color/normal" android:centerColor="#5027844F" android:endColor="#fff" android:useLevel="false" android:type="sweep" /> </shape>
【2】 我们将该自定义环形圈设置给一个旋转动画,并利用该旋转动画自定义成一个环形进度圈的style,最后将该自定义的style赋值给Progress组件。
progress_rotate文件
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/shape_drawable" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360" > </rotate>
【3】 自定义Progress的style:
CustomProgressStyle文件
<style name="CustomProgressStyle" > <item name="android:indeterminateDrawable">@drawable/progress_rotate</item> <item name="android:minWidth">72dp</item> <item name="android:maxWidth">72dp</item> <item name="android:minHeight">72dp</item> <item name="android:maxHeight">72dp</item> </style>
【4】 应用到Progress组件
<ProgressBar android:layout_width="100dp" android:layout_height="100dp" android:layout_centerInParent="true" style="@style/CustomProgressStyle" android:indeterminateDuration="700" />
总结