先看一个效果(图片来自于网络)
1.首先在drawable 下创建一个animation-list 的 loading_img.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/rame0" android:duration="50"></item>
<item android:drawable="@mipmap/rame1" android:duration="50"></item>
<item android:drawable="@mipmap/rame2" android:duration="50"></item>
<item android:drawable="@mipmap/rame3" android:duration="50"></item>
<item android:drawable="@mipmap/rame4" android:duration="50"></item>
<item android:drawable="@mipmap/rame5" android:duration="50"></item>
<item android:drawable="@mipmap/rame6" android:duration="50"></item>
<item android:drawable="@mipmap/rame7" android:duration="50"></item>
<item android:drawable="@mipmap/rame8" android:duration="50"></item>
<item android:drawable="@mipmap/rame9" android:duration="50"></item>
<item android:drawable="@mipmap/rame10" android:duration="50"></item>
</animation-list>
2.接下来是具体的实现代码
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class TestActivity extends AppCompatActivity implements View.OnClickListener{
private Button mStartBtn,mStopBtn;
private ImageView mLoadingIv;
private AnimationDrawable mAnimationDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
mStartBtn = (Button) findViewById(R.id.start_btn);
mStopBtn = (Button) findViewById(R.id.stop_btn);
mLoadingIv = (ImageView) findViewById(R.id.loading_iv);
mStartBtn.setOnClickListener(this);
mStopBtn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.start_btn:
mAnimationDrawable = (AnimationDrawable) mLoadingIv.getDrawable();
mAnimationDrawable.start();
break;
case R.id.stop_btn:
if(mAnimationDrawable!=null){
mAnimationDrawable.stop();
mAnimationDrawable=null;
}
break;
}
}
}