Android 利用 invalidate 函數與 onDraw 事件來實現繪圖動畫


Android 在 onDraw 事件處理繪圖,

invalidate() 函數可以再一次觸發 onDraw 事件,

然後再一次進行繪圖動作,

範例, 如下:
 Java 程式碼
public class helloWorld extends Activity {

/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView( new View(this){

Paint vPaint = new Paint(); // 繪製樣式物件
private int i = 0; // 弧形角度

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);

// 設定繪圖樣式
vPaint.setColor( 0xff00ffff ); // 畫筆顏色
vPaint.setAntiAlias( true ); // 反鋸齒
vPaint.setStyle( Paint.Style.STROKE );

// 繪製一個弧形
canvas.drawArc(new RectF(60, 120, 260, 320), 0, i, true, vPaint );

// 弧形角度
if( (i+=10) > 360 )
i = 0;

// 重繪, 再一次執行 onDraw 程序
invalidate();
}
});
}
}

範例結果 :






Related Posts Plugin for WordPress, Blogger...