android自定义绘图

package com.gs.drawtest;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

public class MainActivity extends Activity {
	
	private MyView myView;
    public Handler handler;
   
    //设置图的左上坐标点和右下坐标点
    private int reference_x1 = 100;
    private int reference_y1 = 100;
    private int reference_x2 = 400;
    private int reference_y2 = 700;
    
	@SuppressLint("HandlerLeak")
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		
		//此处可灵活处理,可以自定义Message,实现界面实时动态更新
		handler = new Handler() {
		public void handleMessage(Message msg) {
			
				if (msg.what == 0x321) {
					myView = new MyView(MainActivity.this);
					setContentView(myView);
				}
			}
		};
		
		myView = new MyView(MainActivity.this);
		setContentView(myView);
	}
   
	
	
	//自定义View,实现界面绘制
	public class MyView extends View {
               
		public MyView(Context context) {
			super(context);
			
		}
       
		@SuppressLint("DrawAllocation")
		protected void onDraw(Canvas canvas) {
			super.onDraw(canvas);
	
			this.setFocusable(true);
			
			canvas.drawColor(Color.WHITE);
			Paint paint = new Paint();
			paint.setAntiAlias(true);
			paint.setStyle(Paint.Style.FILL);
			paint.setStrokeWidth(3);
			paint.setColor(Color.GREEN);
			
			canvas.drawLine(reference_x1, reference_y1, reference_x2, reference_y1, paint);
			canvas.drawLine(reference_x2, reference_y1, reference_x2, reference_y2, paint);
			canvas.drawLine(reference_x2, reference_y2, reference_x1, reference_y2, paint);
			canvas.drawLine(reference_x1, reference_y2, reference_x1, reference_y1, paint);			
		}
	}
}

运行截图:


android自定义绘图

你可能感兴趣的:(android自定义绘图)