想做一条小鱼,让他在水里自由移动。但不知道如何实现随机的效果,还有小鱼摇尾巴的效果是如何实现的,
解决方案 »
- 关于使用startActivityForResult和setResult的问题
- 如何解决 三星 Android “/system” 下的文件被还原的问题!
- 【讨论】通过bindService启动的service,在unbindService后service也结束了
- android机顶盒应用开发,由空鼠触发软键盘问题。
- 怎么做一个程序的启动画面,然后立即跳到软件操作界面?
- EditText怎么改变输入密码字符的等待时间
- 有没有人研究过广播接收者的异步问题
- Andorid中的日志都要定义一个TAG常量,那这个常量能不能改为变量自动赋值呢?
- 想做类似android商城,在程序中加载其他程序,但是没有思路不知道用什么技术
- mediaplayer实现上一首下一首功能
- listview 遍历所有item的问题
- 怎么在ListPreference 或Preference的title前面加图标阿?
http://dev.10086.cn/cmdn/bbs/thread-20895-1-1.html
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.os.Handler;
import android.view.View;public class MovingPictureView extends View implements Runnable{
int left=0,top=0;
int dx=1,dy=1;
Handler handler;
Bitmap bitmap;
Bitmap bitmap2;
Boolean isRuning=true;
public MovingPictureView(Context context) {
super(context);
bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.icon)).getBitmap();
bitmap2=new BitmapFactory().decodeResource(getResources(), R.drawable.icon);
handler=new Handler();
new Thread(this).start();
}
protected void onDraw(Canvas canvas){
canvas.drawBitmap(bitmap, left, top, null);
canvas.drawBitmap(bitmap2,left,top,null);
} @Override
public void run() {
// TODO Auto-generated method stub
while(isRuning){
dx=left<0||(left+bitmap.getWidth())>getWidth()?-dx:dx;
dy=top<0||(top+bitmap.getHeight())>getHeight()?-dy:dy;
left+=dx;
top+=dy;
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
invalidate();
}
});
try{
Thread.sleep(10);
}catch(InterruptedException e){
e.printStackTrace();
}
}}}