【Android UI】自定义圆形Loading动画

来源:互联网 发布:数据导出 编辑:程序博客网 时间:2024/05/18 03:55

1、创建环形loading图片

<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android"    android:fromDegrees="0"    android:toDegrees="360"    android:pivotX="50%"    android:pivotY="50%">    <shape android:shape="ring"        android:innerRadiusRatio="3"        android:thicknessRatio="8"        android:useLevel="false">        <size android:width="45dp"            android:height="45dp" />        <gradient android:type="sweep"            android:useLevel="false"            android:startColor="#ffaaaaaa"            android:centerColor="#ff888888"            android:centerY="0.5"            android:endColor="#ff666666" />    </shape></rotate>

2、通过ImageView加载loading动画

ImageView loadingImg = (ImageView) this.findViewById(R.id.loadingImg);Animation animation = AnimationUtils.loadAnimation(this, R.anim.loading_animation);loadingImg.startAnimation(animation);

3、动画loading_animation.xml文件如下

<?xml version="1.0" encoding="utf-8"?><set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android">    <rotate        android:interpolator="@android:anim/linear_interpolator"        android:pivotX="50%"        android:pivotY="50%"        android:fromDegrees="0"        android:toDegrees="+360"        android:duration="1500"        android:startOffset="-1"        android:repeatMode="restart"        android:repeatCount="-1"/></set>

4、也可以通过ProgressBar来设置Loading动画

<ProgressBar    android:id="@+id/loadingProgressBar"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:indeterminateDrawable="@drawable/loading_ring"    android:indeterminateOnly="true"    android:indeterminateBehavior="repeat"    style="?android:attr/progressBarStyle"/>


1 0
原创粉丝点击