绘制图形(从零开始学Android)
来源:互联网 发布:mac怎么设置主页 编辑:程序博客网 时间:2024/05/22 18:38
使用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”文件即可,无需另行配置。
四、运行结果
0 0
- 绘制图形(从零开始学Android)
- 第51章、绘制简单图形(从零开始学Android)
- 第93章、绘制图形(从零开始学Android)
- 图形变换Matrix(从零开始学Android)
- 第53章、Matrix图形处理(从零开始学Android)
- 第94章、图形变换Matrix(从零开始学Android)
- 从零开始学android<Bitmap图形组件.四十七.>
- 从零开始学Android (1)
- 从零开始学Android (2)
- 从零开始学Android (3)
- 从零开始学Android (4)
- 从零开始学Android(〇)
- 从零开始学Android(一)
- 从零开始学Android(二)
- 从零开始学Android(三)
- 从零开始学Android(四)
- 从零开始学Android(五)
- 从零开始学Android(六)
- 图形变换Matrix(从零开始学Android)
- 记录一次给Apache服务器添加SSL(https)的过程,包括集成mod_jk与Tomcat使用https
- WebRTC代码走读(三):音频接收流程
- 一点数论题目
- 更新两张表中A表A字段与B表A字段相同,把B表B字段更新到A表A字段
- 绘制图形(从零开始学Android)
- 字符串下划线替换-不开辟新的内存
- ZOJ Problem Set - 3498||Javabeans
- ThinkPHP的路径模式以及程序运行路线
- 欧拉函数
- 文本分类入门-特征选择方法之信息增益
- django bulk_create的问题
- ccs5.4 beagleborad xm DSP单核
- 线程池深入理解