第93章、绘制图形(从零开始学Android)
来源:互联网 发布:淘宝卖家服务热线 编辑:程序博客网 时间:2024/05/02 03:02
使用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();} @Overrideprotected 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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//实例化GraphicsViewGraphicsView graphicsView = new GraphicsView(this); /* 在以前我们通过setContentView(R.layout.activity_main)显示布局文件 * 本例中使用GraphicsView对象graphicsView代替以前布局文件 */setContentView(graphicsView);}}
三、配置文件
采用默认生成的“AndroidManifest.xml”文件即可,无需另行配置。
四、运行结果
参考文章:
Android画图并保存图片
Android绘图_Android 开发_WEB开发网
Android画图方式 - 罗索实验室
- 第93章、绘制图形(从零开始学Android)
- 第51章、绘制简单图形(从零开始学Android)
- 绘制图形(从零开始学Android)
- 第53章、Matrix图形处理(从零开始学Android)
- 第94章、图形变换Matrix(从零开始学Android)
- 图形变换Matrix(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第99章、Android调用Javascript(从零开始学Android)
- 第104章、Android访问WebService(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第4章、打包Android应用(从零开始学Android)
- 第99章、Android调用Javascript(从零开始学Android)
- 第9章、图像按钮ImageButton(从零开始学Android)
- 第10章、图像ImageView(从零开始学Android)
- 第20章、OnCheckedChangeListener事件(从零开始学Android)
- 第21章、OnItemSelectedListener事件(从零开始学Android)
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
- 什么是人月,如何简单估算人月
- Android APK反编译详解(附图)
- Android中px与dip,sp与dip等的转换工具类
- java中的IO整理(非常全面)
- itkMacro.h —— ITK宏详细解析
- 第93章、绘制图形(从零开始学Android)
- myeclipse 未运行网页显示图片 运行后不显示图片
- 详细解析java抽象类和接口
- Android adb等 获取root权限
- 谈谈volatile
- 软件项目管理总体流程设计
- 第94章、图形变换Matrix(从零开始学Android)
- Hibernate表关系之一对多(inverse详解)
- Linux 标准目录结构