我们在加载某些界面或者进行某项操作的时候往往需要做一个加载动画,我们就来总结一下这2种方法,通常我们会弹出一个diolog来展示这个动画从而实现美观的效果:
实现Dialog:
Dialog dialog = new Dialog(this);
View view = LayoutInflater.from(this).inflate(R.layout.dialog_view, null);
dialog.setContentView(view);
dialog.show();
dialog_view xml中放一个ImageView和TextView就可以了:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/cc"
android:background="@mipmap/cc"
android:id="@+id/img"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/textView"
android:layout_toStartOf="@+id/textView" />
<TextView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正在加载。。。"
android:textSize="19sp"
android:id="@+id/textView" />
</RelativeLayout>
然后写一个动画让ImgeView转起来就可以了:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:duration="3000"
android:pivotX="50%"
android:pivotY="50%"
/>
</set>
为ImageView设置动画:
Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim_d);
ImageView img = view.findViewById(R.id.img);
img.setAnimation(animation);
animation.start();
ok,第一种完美实现!
第二种:使用GifView GifView下载
GifView的使用:
GifView gifView = (GifView) view.findViewById(R.id.img);
gifView.setGifImage(R.drawable.loading);
gifView.setShowDimension(50,50);
附上gif图片:
第二种是不是更简单点呢。