android-自定義視圖-旋轉的方塊

package com.example.learndrawapi;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Handler;import android.util.AttributeSet;import android.view.View;/** * 自定義方塊類 * * @author wengcheng * */public class RotatingRect extends View {public RotatingRect(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initProperties();}public RotatingRect(Context context, AttributeSet attrs) {super(context, attrs);initProperties();}public RotatingRect(Context context) {super(context);initProperties();}private void initProperties() {paint = new Paint();paint.setColor(Color.RED);}@Overridepublic void draw(Canvas canvas) {super.draw(canvas);canvas.save();// 保存Canvas的狀態canvas.translate(200, 200);canvas.rotate(degrees, 50, 50);canvas.drawRect(0, 0, 100, 100, paint);degrees++;canvas.restore();// 恢復// 使這個view無效,無效就可以重新繪製,繪製完立刻無效會消耗大量資源,簡易延遲繪製handler.sendEmptyMessageDelayed(1, 500);}private Handler handler = new Handler() {public void dispatchMessage(android.os.Message msg) {if (1 == msg.what) {System.out.println("--------------");invalidate();}};};private Paint paint;private float degrees = 0;// 角度}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章