Android三種方式實(shí)現(xiàn)ProgressBar自定義圓形進(jìn)度條
進(jìn)度條樣式在項(xiàng)目中經(jīng)??梢砸姷?,下面小編給大家分享Android三種方式實(shí)現(xiàn)ProgressBar自定義圓形進(jìn)度條。
Android進(jìn)度條有4種風(fēng)格可以使用。
默認(rèn)值是progressBarStyle。
設(shè)置成progressBarStyleSmall后,圖標(biāo)變小。
設(shè)置成progressBarStyleLarge后,圖標(biāo)變大
設(shè)置成progressBarStyleHorizontal后,變成橫向長方形。
自定義圓形進(jìn)度條ProgressBar的一般有三種方式:
一、通過動畫實(shí)現(xiàn)
定義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" />
二、通過自定義顏色實(shí)現(xiàn)
定義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" />
三、使用一張圖片進(jìn)行自定義
定義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" />
以上內(nèi)容是小編給大家分享的Android三種方式實(shí)現(xiàn)ProgressBar自定義圓形進(jìn)度條,希望對大家有所幫助!
相關(guān)文章
Android TextView實(shí)現(xiàn)詞組高亮的示例代碼
本篇文章主要介紹了Android TextView實(shí)現(xiàn)詞組高亮的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Android 中倒計時驗(yàn)證兩種常用方式實(shí)例詳解
這篇文章主要介紹了Android 中倒計時驗(yàn)證兩種常用方式實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
詳解Android TextView屬性ellipsize多行失效的解決思路
這篇文章主要介紹了Android TextView屬性ellipsize多行失效的解決思路,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Flutter實(shí)現(xiàn)頁面路由及404路由攔截
這篇文章介紹了Flutter實(shí)現(xiàn)頁面路由及404路由攔截的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-11-11
Android TextSwitcher文本切換器和ViewFlipper使用詳解
這篇文章主要為大家詳細(xì)介紹了Android TextSwitcher文本切換器和ViewFlipper的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動態(tài)更新的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動態(tài)更新的方法,結(jié)合實(shí)例形式詳細(xì)分析了ListView異步加載數(shù)據(jù)的操作步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08

