1. 程式人生 > >Android實現ProgressBar旋轉菊花載入的動畫

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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!