记录一种简单动画
效果图:
都是直接使用图片资源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"
>
<TextView
android: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" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="22dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
/>
<ImageView
android:layout_width="274dp"
android:layout_height="137dp"
android:layout_marginTop="34dp"
android:layout_gravity="center_horizontal"
android:scaleType="fitXY"
android:src="@drawable/img_storage" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="80sp"
android:layout_gravity="center_horizontal"
>
<TextView
android: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"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android: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"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="32dp"
android:text="%"
android:textColor="#ff914545"
android:layout_gravity="center_vertical"
android:textSize="28sp"
/>
</LinearLayout>
<TextView
android: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>
<ImageView
android: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>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:orientation="vertical">
<TextView
android: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" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/cardDocement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:tag="0"
app:cardCornerRadius="16dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:orientation="vertical">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/img_document" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Doceumen"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
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>
<LinearLayout
android:id="@+id/cardPhoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:tag="0"
app:cardCornerRadius="16dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:orientation="vertical">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/img_photo" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Photos"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android: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>
<LinearLayout
android: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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:tag="1">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/img_video" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Video"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android: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>>
<LinearLayout
android: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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:tag="1">
<RelativeLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/card_ffda65_r16">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/icon_music" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Music"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android: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">
<LinearLayout
android: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" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:tag="1">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/img_apks" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="14dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="APKs"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android: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>
<LinearLayout
android: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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:tag="1">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/img_bigfiles" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="14dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Big Files"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android: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>
<LinearLayout
android: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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:tag="1">
<RelativeLayout
android:layout_width="78dp"
android:layout_height="78dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/img_recentfiles" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="14dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Recent Files"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
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>
</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