概述
需要新建两个class,一个继承Activity,一个继承View
package com.mrzhu.drawtest;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Handler;
import android.view.View;
//继承View
public class Draw extends View implements Runnable{
//用于显示的图片
private Bitmap bmp;
//图片的Left,Top值
private int left = 0;
private int top = 0;
//用于同步线程
private Handler handler;
//X轴方向的增量
private int dx = 5;
public Draw(Context context) {
super(context);
//通过id取得图片
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
handler = new Handler();
//启动线程
new Thread(this).start();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//在屏幕上绘制图片
canvas.drawBitmap(bmp, left, top, null);
}
public void run() {
while(true){
//判断是否到达屏幕边界
dx = left < 0 || left > (getWidth() - bmp.getWidth())? - dx : dx;
//x轴方向增加
left = left + dx;;
handler.post(new Runnable() {
public void run() {
//更新视图(View)的方法
invalidate();
}
});
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.mrzhu.drawtest;
import android.app.Activity;
import android.os.Bundle;
public class DrawTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//这是自定义的view对象
Draw view = new Draw(this);
//将view显示出来
setContentView(view);
}
}
资源下载:http://download.csdn.net/detail/zlqqhs/4681282
最后
以上就是能干皮卡丘为你收集整理的Android----线程实现图片移动的全部内容,希望文章能够帮你解决Android----线程实现图片移动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复