import android.app.Activity;import android.content.Context;import android.graphics.*;import android.os.Bundle;import android.view.*;public class Mian extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        MyView my=new MyView(this);        setContentView(my);    }}class MyView extends SurfaceView implements SurfaceHolder.Callback,Runnable{    SurfaceHolder holder;    Rect rect;//创建类    public MyView(Context context)    {        super(context);        holder = this.getHolder();//获取SurfaceHolder对象实例          holder.addCallback(this);//添加callback接口        setFocusable(true);         rect=new Rect(150, 150);        Thread t=new Thread(rect);        t.start();    }    @Override  //当SurfaceView尺寸改变时调用    public void surfaceChanged(SurfaceHolder holder, int format, int width,int height){}    @Override  //当SurfaceView创建时调用    public void surfaceCreated(SurfaceHolder holder)    {        new Thread(this).start();//启动新的线程    }  //当SurfaceView销毁时调用    @Override    public void surfaceDestroyed(SurfaceHolder holder){}@Overridepublic synchronized void  run() {// TODO Auto-generated method stubwhile(true){Canvas canvas = holder.lockCanvas(null);//SurfaceHolder锁定并获得canvas对象 canvas.drawColor(Color.WHITE);this.drawGraphics(canvas);        holder.unlockCanvasAndPost(canvas);//解锁画布,提交画好的图像          try {Thread.sleep(500);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public void drawGraphics(Canvas canvas){Paint mPaint = new Paint();        mPaint.setStyle(Paint.Style.FILL);//设置为实心        mPaint.setColor(Color.RED);        mPaint.setAntiAlias(true);//设置抗锯齿        this.draw(canvas, mPaint);}public void draw(Canvas canvas,Paint p){canvas.drawCircle(100, rect.y, 50, p);//画圆 }}class Rect implements Runnable{//矩形类int x;int y;int speed=10;public Rect(int x,int y){this.x=x;this.y=y;}@Overridepublic void run() {// TODO Auto-generated method stubwhile(true){y+=speed;try {Thread.sleep(500);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

更多相关文章

  1. android 一步一步创建jni示例
  2. Android中对于Geometry对象的字符串化
  3. Android(安卓)启动线程OOM
  4. Android(安卓)Activity传递自定义对象
  5. Android中HandlerThread的使用
  6. android 创建实时文件夹
  7. android创建设置页面
  8. 【Android】利用ArrayAdapter 创建ListView
  9. Android中HandlerThread的使用

随机推荐

  1. android上传图片、视频、文件,服务端使用w
  2. Android启动模式——LaunchMode
  3. android操作sdcard中的多媒体文件
  4. Android关键资源详解
  5. Android(安卓)PC端截图源代码
  6. 拥抱Android
  7. Android界面设计中的.9.png的使用技巧
  8. Android应用程序注册广播接收器(registerR
  9. Android之ListView和ArrayAdapter的组合
  10. Android(安卓)播放Gif 动画