android初学之Context、@Override、Canvas简介

本文深入解析了Android中Context的作用及应用场景,并重点介绍了Canvas类的使用方法。包括Canvas的基本构造方式、绘制图形的方法(如矩形、圆角矩形、直线、圆弧和圆等),以及与Bitmap、Paint和Drawable的关系。
摘要由CSDN通过智能技术生成

//Context介绍

Context,中文直译为“上下文”

1、它描述的是一个应用程序环境的信息,即上下文。

2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现。

3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作。

在android中context可以作很多操作,但是最主要的功能是加载和访问资源。

//程序中的@Override是什么意思? 

@Override是Java5的元数据,自动加上去的一个标志,

告诉你说下面这个方法是从父类/接口 继承过来的,

需要你重写一次,这样就可以方便你阅读,也不怕会忘记

@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 

1>可以当注释用,方便阅读 

2>编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。 

比如你如果没写@Override而你下面的方法名又写错了,

这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法) 

使用该标记是为了增强程序在编译时候的检查,

如果该方法并不是一个覆盖父类的方法,在编译时编译器就会报告错误。

//Andriod中绘(画)图----Canvas的使用详解 

主要是Canvas类(android.graphics.Canvas)。

Canvas类就是表示一块画布,你可以在上面画你想画的东西。

当然,你还可以设置画布的属性,如画布的颜色/尺寸等。

Canvas提供了如下一些方法: 

Canvas():创建一个空的画布,可以使用setBitmap()方法来设置绘制的具体画布;

Canvas(Bitmap bitmap):以bitmap对象创建一个画布,则将内容都绘制在bitmap上,bitmap不得为null;

Canvas(GL gl):在绘制3D效果时使用,与OpenGL有关;

drawColor:设置画布的背景色;

setBitmap:设置具体的画布;

clipRect:设置显示区域,即设置裁剪区;

isOpaque:检测是否支持透明;

rotate:旋转画布;

canvas.drawRect(RectF,Paint)方法用于画矩形,

第一个参数为图形显示区域,第二个参数为画笔,设置好图形显示区域Rect和画笔Paint后,即可画图;

canvas.drawRoundRect(RectF, float, float, Paint) 方法用于画圆角矩形,

第一个参数为图形显示区域,第二个参数和第三个参数分别是水平圆角半径和垂直圆角半径。 

canvas.drawLine(startX, startY, stopX, stopY, paint):

前四个参数的类型均为float,最后一个参数类型为Paint。

表示用画笔paint从点(startX,startY)到点(stopX,stopY)画一条直线; 

canvas.drawArc(oval, startAngle, sweepAngle, useCenter, paint):

第一个参数oval为RectF类型,即圆弧显示区域,startAngle和sweepAngle均为float类型,

分别表示圆弧起始角度和圆弧度数,3点钟方向为0度,useCenter设置是否显示圆心,boolean类型,paint为画笔; 

canvas.drawCircle(float,float, float, Paint)方法用于画圆,

前两个参数代表圆心坐标,第三个参数为圆半径,第四个参数是画笔; 

1  Bitmap,可以来自资源/文件,也可以在程序中创建,

实际上的功能相当于图片的存储空间;

2  Canvas,紧密与Bitmap联系,把Bitmap比喻内容的话,

那么Canvas就是提供了众多方法操作Bitamp的平台;

3  Paint,与Canvas紧密联系,是"画板"上的笔刷工具,

也用于设置View控件上的样式;

4  Drawable,如果说前三者是看不见地在内存中画图(虚拟的),

那么Drawable就是把前三者绘图结果表现出来的接口(真实的)。

Drawable多个子类,例如:位图(BitmapDrawable)、图形(ShapeDrawable)、图层(LayerDrawable)等。

我们打个简单的比方吧:

Paint     就是画笔

Bitmap    就是画布

Canvas    就是画家

于是,画家可以通过画笔可以在画布上进行任何的画画。

在绘制矩形时我们一般都会这样写:

startX 起始X坐标

stopX 结束X坐标

startY起始Y坐标

stopY 结束Y坐标

然后直接调用canvas.drawRect(startX, startY, stopX, stopY, paint);

进行绘制一般情况下绘制时没有问题的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春哥一号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值