欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Shape属性创建环形进度条

程序员文章站 2022-11-19 17:58:59
1,实现效果       2,实现代码: 【1】 shape_drawable.xml 文件 <&...

1,实现效果 

Android Shape属性创建环形进度条Android Shape属性创建环形进度条   

 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"
   />

总结

以上所述是小编给大家介绍的android shape属性创建环形进度条,希望对大家有所帮助