火影忍者结印的动画
先看效果图
先看看布局
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
tools:context="com.example.dohua.MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="291dp"
android:layout_height="wrap_content"
android:gravity="center" />
</LinearLayout>
再来看看实现的代码
package com.example.dohua;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
ImageView img;
private Boolean isDancing = true;
Handler myhandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.imageView);
myhandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
img.setImageResource(R.drawable.a);
break;
case 1:
img.setImageResource(R.drawable.b);
break;
case 2:
img.setImageResource(R.drawable.c);
break;
case 3:
img.setImageResource(R.drawable.d);
break;
case 5:
img.setImageResource(R.drawable.f);
break;
case 6:
img.setImageResource(R.drawable.g);
break;
case 7:
img.setImageResource(R.drawable.h);
break;
case 8:
img.setImageResource(R.drawable.i);
break;
case 9:
img.setImageResource(R.drawable.j);
break;
case 10:
img.setImageResource(R.drawable.k);
break;
case 11:
img.setImageResource(R.drawable.l);
break;
}
}
};
//启动线程开始播放动画
new myThread().start();
}
class myThread extends Thread {
@Override
public void run() {
int what = 1;
while (isDancing) {
myhandler.sendEmptyMessage((what++) % 12);
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
//停止线程
@Override
protected void onDestroy() {
isDancing = false;
super.onDestroy();
}
}