当前位置: 移动技术网 > IT编程>移动开发>Android > Android三种方式实现ProgressBar自定义圆形进度条

Android三种方式实现ProgressBar自定义圆形进度条

2019年07月24日  | 移动技术网IT编程  | 我要评论

轰叔整容前,北门街观海寺小学,朱鎔基儿子被杀真相

进度条样式在项目中经常可以见到,下面小编给大家分享android三种方式实现progressbar自定义圆形进度条。

android进度条有4种风格可以使用。

默认值是progressbarstyle。

设置成progressbarstylesmall后,图标变小。

设置成progressbarstylelarge后,图标变大

设置成progressbarstylehorizontal后,变成横向长方形。

自定义圆形进度条progressbar的一般有三种方式:

一、通过动画实现

定义res/anim/loading_anim.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f0" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f1" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f2" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f3" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f4" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f5" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f6" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f7" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f8" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f9" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f10" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f11" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f12" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f13" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f14" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f15" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f16" />
<item android:duration="150" android:drawable="@drawable/loading_blue_16_f17" />
</animation-list>

在layout文件中引用如下:

<progressbar
android:id="@+id/progressbar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginbottom="20dip"
android:layout_margintop="20dip"
android:indeterminate="false"
android:indeterminatedrawable="@anim/loading_anim" />

二、通过自定义颜色实现

定义res/drawable/loading_color.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromdegrees="0"
android:pivotx="50%"
android:pivoty="50%"
android:todegrees="360" >
<shape
android:innerradiusratio="3"
android:shape="ring"
android:thicknessratio="8"
android:uselevel="false" >
<gradient
android:centercolor="#ffdc35"
android:centery="0.50"
android:endcolor="#ce0000"
android:startcolor="#ffffff"
android:type="sweep"
android:uselevel="false" />
</shape>
</rotate>

在layout文件中引用如下:

<progressbar
android:id="@+id/progressbar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="false" 
android:indeterminatedrawable="@drawable/loading_color" />

三、使用一张图片进行自定义

定义res/drawable/loading_img.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:drawable="@drawable/exchange_loading"
android:fromdegrees="0.0"
android:pivotx="50.0%"
android:pivoty="50.0%"
android:todegrees="360.0" />
</item>
</layer-list>

在layout文件中引用如下:

<progressbar
android:id="@+id/progressbar3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="false"
android:indeterminatedrawable="@drawable/lodaing_img"
/>

以上内容是小编给大家分享的android三种方式实现progressbar自定义圆形进度条,希望对大家有所帮助!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网