import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.view.View; /** * @version 2012-8-10 上午10:25:09 **/ public class GameView extends View implements Runnable { Paint mPaint = null; public GameView(Context context) { super(context); mPaint = new Paint(); new Thread(this).start(); } @Override public void run() { // 判讀該線程是否中斷 while(!Thread.currentThread().isInterrupted()) { try { Thread.sleep(100); } catch(Exception e) { Thread.currentThread().interrupt(); } // 使用postInvalidate能夠直接在線程中更新界面 postInvalidate(); } } @Override protected void onDraw(Canvas canvas) { // 設置畫布顏色 canvas.drawColor(Color.BLACK); // 取消鋸齒效果 mPaint.setAntiAlias(true); // 設置裁剪區域 canvas.clipRect(10, 10, 280, 260); // 鎖定畫布 canvas.save(); // 旋轉畫布 canvas.rotate(45.0f); // 設置畫筆顏色 mPaint.setColor(Color.RED); // 畫矩形 canvas.drawRect(new Rect(15, 15, 140, 70), mPaint); // 解鎖畫布 canvas.restore(); // 設置畫筆顏色 mPaint.setColor(Color.GREEN); // 畫矩形 canvas.drawRect(new Rect(150, 75, 260, 120), mPaint); } }
版權聲明:本文爲博主原創文章,未經博主容許不得轉載。java