MainActivity.java
package com.mz.demo09;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView img;
private ImageView img2;
private ImageView img3;
private Handler handler;
private Thread thread;
private int x=100;
private int y=100;
private int x2=150;
private int y2=150;
private int x3=200;
private int y3=200;
private int screenX;
private int screenY;
private boolean flag_x;
private boolean flag_y;
private boolean flag_x2;
private boolean flag_y2;
private boolean flag_x3;
private boolean flag_y3;
private boolean isSwim=true;
private int lfish[]={R.drawable.lbigfish1,R.drawable.lbigfish2,
R.drawable.lbigfish3,R.drawable.lbigfish4,
R.drawable.lbigfish5,R.drawable.lbigfish6,
R.drawable.lbigfish7,R.drawable.lbigfish8,
R.drawable.lbigfish9,R.drawable.lbigfish10
};
private int rfish[]={R.drawable.rbigfish1,R.drawable.rbigfish2,
R.drawable.rbigfish3,R.drawable.rbigfish4,
R.drawable.rbigfish5,R.drawable.rbigfish6,
R.drawable.rbigfish7,R.drawable.rbigfish8,
R.drawable.rbigfish9,R.drawable.rbigfish10
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
img=(ImageView)this.findViewById(R.id.img);
img2=(ImageView)this.findViewById(R.id.img2);
img3=(ImageView)this.findViewById(R.id.img3);
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
screenX=dm.widthPixels;
screenY=dm.heightPixels;
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
int p=msg.what;
int move_x=msg.arg1;
int move_y=msg.arg1;
int move_x2=msg.arg2;
int move_y2=msg.arg2;
if(x>(screenX-img.getWidth())){
flag_x=false;
}else if(x<=0){
flag_x=true;
}if(flag_x){
img.setBackgroundResource(rfish[p]);
x+=move_x;
img.setX(x);
img.setY(y);
}else{
img.setBackgroundResource(lfish[p]);
x-=move_x;
img.setX(x);
img.setY(y);
}
if(y>(screenY-img.getHeight())){
flag_y=false;
}else if(y<=0){
flag_y=true;
}if(flag_y){
y+=move_y;
img.setX(x);
img.setY(y);
}else{
y-=move_y;
img.setX(x);
img.setY(y);
}
/*************2**************/
if(x2>(screenX-img2.getWidth())){
flag_x2=false;
}else if(x2<=0){
flag_x2=true;
}if(flag_x2){
img2.setBackgroundResource(rfish[p]);
x2+=move_x;
img2.setX(x2);
img2.setY(y2);
}else{
img2.setBackgroundResource(lfish[p]);
x2-=move_x;
img2.setX(x2);
img2.setY(y2);
}
if(y2>(screenY-img2.getHeight())){
flag_y2=false;
}else if(y2<=0){
flag_y2=true;
}if(flag_y2){
y2+=move_y;
img2.setX(x2);
img2.setY(y2);
}else{
y2-=move_y;
img2.setX(x2);
img2.setY(y2);
}
/***********************3************/
if(x3>(screenX-img3.getWidth())){
flag_x3=false;
}else if(x3<=0){
flag_x3=true;
}if(flag_x3){
img3.setBackgroundResource(rfish[p]);
x3+=move_x2;
img3.setX(x3);
img3.setY(y3);
}else{
img3.setBackgroundResource(lfish[p]);
x3-=move_x2;
img3.setX(x3);
img3.setY(y3);
}
if(y3>(screenY-img3.getHeight())){
flag_y3=false;
}else if(y3<=0){
flag_y3=true;
}if(flag_y3){
y3+=move_y2;
img3.setX(x3);
img3.setY(y3);
}else{
y3-=move_y2;
img3.setX(x3);
img3.setY(y3);
}
}
};
thread=new Mythread();
thread.start();
}
class Mythread extends Thread{
@Override
public void run() {
int index;
int what=1;
int index2;
while(isSwim){
index=(new Random()).nextInt(5);
index2=(new Random()).nextInt(8);
Message msg=handler.obtainMessage();
msg.arg1=index;
msg.arg2=index2;
handler.sendMessage(msg);
handler.sendEmptyMessage((what++)%10);
try {
thread.sleep(100);//!!!
} catch (Exception e) {
// TODO: handle exception
}
}
// TODO Auto-generated method stub
super.run();
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/bg1" >
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/img3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mz.demo09"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="14" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >//全屏
<activity
android:label="@string/app_name"
android:name=".MainActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>