如果开发中要实现 下面这副图的 加载中 的 圆形旋转进度效果 , 有些同学可能会想到让美工设计 多幅帧动画来实现, 事实中有些APP也确实是这实现, 但是这样的实现方式也降低了程序的运行效率,加大了开发人员和美工的工作量。
其实只需要任意一帧图片,然后让其围绕中心点不断旋转就行了, 借助安卓平台 drawable/ layer-list 的 rotate 功能可以相当容易、巧妙的实现
步骤一: drawable 文件夹中 新建 loading.xml (名称自己取) , 其中注意 @drawable/ic_launcher 是圆形进度条显示时 需要放置的图片
图片形如:
drawable / loading.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:drawable="@drawable/ic_launcher"
android:fromDegrees="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />
</item>
</layer-list>
步骤二: 在布局文件中使用
layout / main.xml
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/loading" />
最后运行起来 就会看到 该图片在不断旋转, 而不需要 美工设计 许多帧 的图片
不断的在旋转, 我只截图了两帧的图画