记录一种简单动画
效果图:
都是直接使用图片资源FrameLayout布局实现,布局如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="22dp"android:layout_marginTop="16dp"android:text="Manager"android:textColor="#010101"android:textSize="22sp" /><FrameLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><FrameLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginHorizontal="22dp"><ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:scaleType="fitXY"/><ImageViewandroid:layout_width="274dp"android:layout_height="137dp"android:layout_marginTop="34dp"android:layout_gravity="center_horizontal"android:scaleType="fitXY"android:src="@drawable/img_storage" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginTop="80sp"android:layout_gravity="center_horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@color/color_db3"android:layout_gravity="center_horizontal"android:textSize="16sp" android:textStyle="bold"android:text="Storage"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_percentage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@color/color_545"android:layout_gravity="center_horizontal"android:textSize="44dp"android:text="0"android:textStyle="bold"/><TextViewandroid:layout_width="wrap_content"android:layout_height="32dp"android:text="%"android:textColor="#ff914545"android:layout_gravity="center_vertical"android:textSize="28sp"/></LinearLayout><TextViewandroid:id="@+id/tv_storage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@color/color_545"android:layout_gravity="center_horizontal"android:textSize="14sp"android:text="99.1/108GB" /></LinearLayout><ImageViewandroid:id="@+id/iv_position"android:layout_width="262dp"android:layout_height="262dp"android:layout_gravity="center_horizontal"android:layout_marginTop="40dp"android:scaleType="fitXY"android:src="@drawable/img_storage_icon" /></FrameLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="200dp"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="24dp"android:layout_marginTop="24dp"android:layout_marginBottom="16dp"android:text="Manager"android:textColor="@android:color/white"android:textSize="16sp"android:visibility="gone"android:textStyle="bold" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="40dp"android:orientation="horizontal"><LinearLayoutandroid:id="@+id/cardDocement"android:layout_width="match_parent"android:layout_height="wrap_content"android:tag="0"app:cardCornerRadius="16dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center"android:gravity="center_horizontal"android:orientation="vertical"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/img_document" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="14dp"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Doceumen"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"android:visibility="gone"tools:text="Size: 22MB" /></LinearLayout></LinearLayout></LinearLayout><LinearLayoutandroid:id="@+id/cardPhoto"android:layout_width="match_parent"android:layout_height="wrap_content"android:tag="0"app:cardCornerRadius="16dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center"android:gravity="center_horizontal"android:orientation="vertical"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/img_photo" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="14dp"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Photos"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_photo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"android:visibility="gone"tools:text="Size: 22MB" /></LinearLayout></LinearLayout></LinearLayout><LinearLayoutandroid:id="@+id/cardVideo"android:layout_width="match_parent"android:layout_height="wrap_content"android:tag="1"app:cardBackgroundColor="@android:color/white"app:cardCornerRadius="16dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:tag="1"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/img_video" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="14dp"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Video"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_video"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"android:visibility="gone"tools:text="Size: 22MB" /></LinearLayout></LinearLayout></LinearLayout>><LinearLayoutandroid:id="@+id/cardMusic"android:layout_width="match_parent"android:layout_height="wrap_content"android:visibility="gone"android:tag="2"app:cardBackgroundColor="@android:color/white"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:tag="1"><RelativeLayoutandroid:layout_width="60dp"android:layout_height="60dp"android:background="@drawable/card_ffda65_r16"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/icon_music" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="14dp"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Music"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_music"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"tools:text="Size: 22MB"android:visibility="gone"/></LinearLayout></LinearLayout></LinearLayout></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginTop="32dp"><LinearLayoutandroid:id="@+id/cardApk"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginHorizontal="1dp"android:tag="3"app:cardCornerRadius="16dp"android:layout_weight="1" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:tag="1"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/img_apks" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginTop="14dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="APKs"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_apk"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"tools:text="Size: 22MB"android:visibility="gone"/></LinearLayout></LinearLayout></LinearLayout><LinearLayoutandroid:id="@+id/cardBigFile"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginHorizontal="1dp"android:tag="4"app:cardBackgroundColor="@android:color/white"app:cardCornerRadius="16dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:tag="1"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:src="@drawable/img_bigfiles" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginTop="14dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Big Files"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_bigFile"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"android:visibility="gone"tools:text="Size: 22MB" /></LinearLayout></LinearLayout></LinearLayout><LinearLayoutandroid:id="@+id/cardRecentFile"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginHorizontal="1dp"android:tag="4"app:cardBackgroundColor="@android:color/white"app:cardCornerRadius="16dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:tag="1"><RelativeLayoutandroid:layout_width="78dp"android:layout_height="78dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:src="@drawable/img_recentfiles" /></RelativeLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginTop="14dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Recent Files"android:textColor="#333333"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:textColor="#999999"android:textSize="14sp"android:visibility="gone"tools:text="Size: 22MB" /></LinearLayout></LinearLayout></LinearLayout></LinearLayout></LinearLayout></FrameLayout></LinearLayout>
Activity中动画代码
private void loadIngData(double loading) {double loadingnum=loading*1.8;//进度值*角度比ObjectAnimator animator = ObjectAnimator.ofFloat(mImagStorageView, "rotation", (float) loadingnum);animator.setDuration(1000);animator.start();}
-END