zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android移动view详解手机开发

Android手机开发 详解 移动 View
2023-06-13 09:20:13 时间
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){}   @Override   public synchronized void run() {   // TODO Auto-generated method stub   while(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 block   e.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;   }   @Override   public void run() {   // TODO Auto-generated method stub   while(true){   y+=speed;   try {   Thread.sleep(500);   } catch (InterruptedException e) {   // TODO Auto-generated catch block   e.printStackTrace();   }   }   }  } 

5643.html

app程序应用开发手机开发无线开发移动端开发