第93章、绘制图形(从零开始学Android)

  使用view画图,有两个重要的组件需要介绍:
  (1)Paint 可以理解为画刷或者画笔,去主要用来设置绘图使用的颜色、填充方式、透明度、字体以及字体样式等。
  (2)Canvas 画布,在view上显示的图形都是由canvas来绘制的,可以绘制矩形、圆、椭圆、扇形……。

  Paint常见方法与属性:
  (1)Paint.Style.FILL 用颜色填充图形
  (2)Paint.Style.FILL_AND_STROKE 即绘制边框 同时也填充内部
  (3)Paint.Style.STROKE 绘制边框
  (4)paint.setAntiAlias(true)这个是用来设置抗锯齿效果的。

一、设计界面

  1、布局文件

  我们使用自定义GraphicsView类作为布局,继承自View。
  因此,不需要布局文件。

二、程序文件

  1、创建“src/com.genwoxue.graphics/GraphicsView.java”文件。
  然后输入以下代码:

package com.genwoxue.graphics;

import android.content.Context;  
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Color;
import android.view.View;


public class GraphicsView extends View{
	
	//声明画笔
	Paint paint=null;
				
	public GraphicsView(Context context) {   
		super(context);
		
		/*----------------------------------------------
		 * 部分书籍中把Paint paint=new Paint();放在onDraw方法中,建议
		 * 尽量不要把初始化画笔放在onDraw方法中,这是因为:onDraw经常会运行
		 * 到的,不要在里面new对象,越少越好,不然很浪费内存
		 *--------------------------------------------*/		
		//获取画笔,初始化画笔
		paint=new Paint();
	}  
	
	@Override
	protected void onDraw(Canvas canvas){
		//设置画布背景为白色
		canvas.drawColor(Color.WHITE);
		
		//设置画笔为红色
		paint.setColor(Color.RED);
		//使用当前画笔绘制一个左上角坐标为80,20,右下角坐标为360,180的矩形
		canvas.drawRect(80,20,360,180, paint);
		
		//设置画笔为红色
		paint.setColor(Color.YELLOW);
		//使用当前画笔绘制一个圆心坐标为220,100,半径为60的圆
		canvas.drawCircle(220,180, 60, paint);
		
	}

}

  2、打开“src/com.genwoxue.graphics/MainActivity.java”文件。
  然后输入以下代码:

package com.genwoxue.graphics;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		//实例化GraphicsView
		GraphicsView graphicsView = new GraphicsView(this); 
		
		/* 在以前我们通过setContentView(R.layout.activity_main)显示布局文件
		 * 本例中使用GraphicsView对象graphicsView代替以前布局文件
		 */
		setContentView(graphicsView);
	}
}


三、配置文件

  采用默认生成的“AndroidManifest.xml”文件即可,无需另行配置。

四、运行结果

  

 

 

 

 

 

参考文章:

  Android画图并保存图片

  Android绘图_Android 开发_WEB开发网

  Android画图方式 - 罗索实验室

你可能感兴趣的:(android,绘制图形Graphics)