一、添加跳舞的背景图片
在之前创建的Android项目中的Activity中添加以下代码来实现添加背景图片。
代码:android:background="@drawable/background"
图(1)添加背景图片
二、实现空中的气球
选中你需要的气球图片,将其存放在工程目录res/drawable文件夹,需要新建一个文件夹存放图片。
图(2)新建一个drawable文件夹
实现小人跳舞所示代码:
package com.example.ballon; import java.util.Random; import android.app.Activity; import android.graphics.Point; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Display; import android.view.Menu; import android.view.MenuItem; import android.widget.ImageView; public class MainActivity extends Activity { private boolean flag = true;//标记变量 private boolean flag_x = true;//为true表示从左向右 private ImageView img_ball;//声明一个ImageView对象 private Handler handler;//声明一个Handler对象 private int x = 10; private int y = 100; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); img_ball = (ImageView)findViewById(R.id.img_ball);//获取ImageView对象 Display display = getWindowManager().getDefaultDisplay(); //获取一个屏幕的实例 Point point = new Point(); //实例一个点 display.getRealSize(point); //获取当前屏幕的大小 final int mScreenW = point.x; //获得屏幕的的宽度 handler = new Handler() { @Override public void handleMessage(Message msg) { int move_x = 0; if(msg.what == 0x101) { move_x = msg.arg1;//获取移动的距离 if(x > (mScreenW - img_ball.getWidth())) { flag_x = false; } else if(x < img_ball.getWidth()) { flag_x = true; } if(flag_x) { x += move_x; } else { x -= move_x; } if(flag) { y -= 10; flag = false; }else { y += 10; flag = true; } img_ball.setX(x);//设置x轴距离 img_ball.setX(y);//设置y轴距离 } super.handleMessage(msg); } }; Thread t = new Thread(new Runnable() { @Override public void run() { int index = 0;//移动的距离 while(!Thread.currentThread().isInterrupted()) { index = new Random().nextInt(20);//产生一个随机数 Message m = handler.obtainMessage();//获取一个Message m.what = 0x101;//设置消息标示 m.arg1 = index;//设置移动距离 handler.sendMessage(m);//发送消息 try { //休眠一段时间 Thread.sleep(new Random().nextInt(500) + 500); }catch(InterruptedException e) { e.printStackTrace(); } } } }); t.start(); } }
三、实验中的错误
运行时报如下错:
图(3)出错实例
解决方案:将本项目从Eclipse中删除,在重启即可。
四、实验效果