动画实现自定义圆形加载中效果的进度条
Android开发中在处理耗时工作的时候,例如:列表加载,大多数会有一个精度条加载的框,里面有一个像gif的图片在旋转一样。
定义res/anim/loading.xml:
<!--
根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 true展示一遍
根标签下,通过item标签对动画中的每一个图片进行声明
android:duration 表示展示该图片的时间长度
-->
<?xmlversion="1.0"encoding="utf-8"?>
<animation-listxmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/loading1"
android:duration="100"/>
<item
android:drawable="@drawable/loading2"
android:duration="100"/>
<item
android:drawable="@drawable/loading3"
android:duration="100"/>
<item
android:drawable="@drawable/loading4"
android:duration="100"/>
<item
android:drawable="@drawable/loading5"
android:duration="100"/>
<item
android:drawable="@drawable/loading6"
android:duration="100"/>
<item
android:drawable="@drawable/loading7"
android:duration="100"/>
<item
android:drawable="@drawable/loading8"
android:duration="100"/>
<item
android:drawable="@drawable/loading9"
android:duration="100"/>
<item
android:drawable="@drawable/loading10"
android:duration="100"/>
<item
android:drawable="@drawable/loading11"
android:duration="100"/>
<item
android:drawable="@drawable/loading12"
android:duration="100"/>
</animation-list>
在layout文件中引用如下:
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:gravity="center_horizontal"
android:orientation="vertical">
<ProgressBar
android:id="@+id/xlistview_footer_progressbar"
android:layout_width="21dp"
android:layout_height="21dp"
android:layout_centerInParent="true"
android:layout_marginTop="15dp"
android:indeterminate="false"
android:indeterminateDrawable="@anim/loading"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"/>
</LinearLayout>
</LinearLayout>
效果图:
源码下载: http://download.csdn.net/detail/dickyqie/9673734