Android實現ProgressBar旋轉菊花載入的動畫
在一些常見到的載入中需要顯示一個載入動畫,如旋轉的菊花這樣的動畫效果,開發中有兩種方案,一種是直接讓設計師給出一個gif圖片,然後寫入到佈局,另外一種,使用Android動畫,把一張靜止的圖片動起來,本例用後者實現。
寫一個xml佈局,把ProgressBar放進去:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ProgressBar
android:id="@+id/loading"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="載入中..." />
</LinearLayout>
很簡單的佈局,上面一個顯示載入的進度ProgressBar,下面一個提示的文字。關鍵是設定ProgressBar的兩個屬性,這兩個屬性決定了ProgressBar的動畫展示效果:
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim"
這裡引用了drawable下一個叫做anim的動畫配置程式碼檔案,res/drawable/anim.xml:
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loading"
android:fromDegrees="0.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.0" />
res/drawable/loading是一張靜態圖loading.jpg:
程式碼執行後,該loading圖是不停動畫旋轉的,如圖:
---------------------
作者:zhangphil
來源:CSDN
原文:https://blog.csdn.net/zhangphil/article/details/79453384
版權宣告:本文為博主原創文章,轉載請附上博文連結!