首先是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#FFFFFF"
tools:context="com.eascs.seizi.MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
/>
<ImageView
android:id="@+id/result"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:background="@mipmap/one"/>
<Button
android:id="@+id/btn_start"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="start"/>
</RelativeLayout>
然后为了方便全部代码都写在一个MainActivity里面了
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.util.Random;
import java.util.TimerTask;
public class MainActivity extends Activity implements View.OnClickListener {
private ImageView iv, result;
private int[] dis = {R.mipmap.move_1, R.mipmap.move_2, R.mipmap.move_3};
private AnimationDrawable ad;
private Button start;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
start = (Button) findViewById(R.id.btn_start);
result = (ImageView) findViewById(R.id.result);
start.setOnClickListener(this);
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
ad.stop();
int r = new Random().nextInt(6);
result.setVisibility(View.VISIBLE);
int res = -1;
switch (r) {
case 0:
res = R.mipmap.one;
break;
case 1:
res = R.mipmap.two;
break;
case 2:
res = R.mipmap.three;
break;
case 3:
res = R.mipmap.four;
break;
case 4:
res = R.mipmap.five;
break;
case 5:
res = R.mipmap.six;
break;
}
if (r != -1) {
result.setBackgroundDrawable(getResources().getDrawable(res));
}
}
};
}
private void start() {
result.setVisibility(View.GONE);
if (ad == null) {
ad = new AnimationDrawable();
for (int i = 0; i < 3; i++) {
ad.addFrame(getResources().getDrawable(dis[i]), 150);
}
ad.setOneShot(false);
iv.setBackgroundDrawable(ad);
}
if (ad.isRunning()) {
return;
}
ad.start();
java.util.Timer timer = new java.util.Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
mHandler.sendEmptyMessage(0);
}
}, 1000);
}
@Override
public void onClick(View v) {
start();
}
}
代码很简单,一看就懂,我就不多解释了。
图片资源 http://download.youkuaiyun.com/detail/zhoudailiang/9345901