1 / 7
文档名称:

ch20画布开发Canvas.doc

格式:doc   大小:54KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ch20画布开发Canvas.doc

上传人:xgs758698 2018/11/12 文件大小:54 KB

下载得到文件列表

ch20画布开发Canvas.doc

相关文档

文档介绍

文档介绍:一、Canvas概述

低级UI必须要继承Canvas这个抽象类
Canvas的核心是paint()这个方法,这个方法做是负责绘制屏幕上的画面
每当屏幕需要重新绘制时,就会产生重绘事件时,系统就会自动调用repaint(),并传入一个Graphics 对象。
任何时候我们都可以通过调用 reapaint()方法来产生重绘事件,它有两个方法,一个需要四个参数,分别用来指示起始坐标(X,Y),长宽,另一个则不需要任何参数,代表整个画面重新绘制。
getWidth()和getHeight()方法获得Canvas的当前范围大小。
每当Canvas范围大小发生变化时,就会自动调用Canvas类的sizeChanged()方法。
在低级 UI 里,可以直接把Graphics渲染到屏幕上,也可以在屏幕外合成到一个Image中,已渲染的图形具体是合成Image还是显示到屏幕上,要看这个Graphics具体的来源而定,
渲染到屏幕上的Graphics对象将被送到paint()方法中来进行调度,这也是显示在屏幕上的唯一的途径,仅在paint()方法的执行期间这个应用程序可以对Graphics 进行操作,至于要渲染到Image 中的Graphics 对象,当需要调用它的时候,()方法来取得相应的Graphics,它将可以被应用程序一直占有,在paint()方法运作的任何时候渲染到屏幕上,
1、构造函数
所有要显示在屏幕完成图形绘制的类都必须按照下面形式重写Canvas
class myCanvas extends Canvas
{
void paint(Graphics g) //抽象方法必须重写
{
}
}
2、屏幕大小和坐标
getWidth():获取屏幕宽度属性
getHeight():获取屏幕高度属性
Canvas坐标原点位于左上角,最下角的坐标为(getWidth(),getHeight()),屏幕部分为设备保留区域,用来指示电量、信号强度、设备状态等,如果没有设为全屏模式,画布无法占用这片空间。
3、全屏模式
Canvas的两种状态:普通默认情况下的和全屏状态,可以用setFullScreenMode(boolean b)方法来进行设定。
4、底层事件
三类:PressEvents(按键事件),Action Keys(动作按键),PointerEvents(触控事件)。
按键事件的几个核心方法为:keyPressed(),keyReleased(),keyRepeated(),
当按键按下时会触发keyPressed(),
当松开按键时,会触发keyReleased(),
当长时间按住按键时会触发keyRepeated(),但是RepeatEvents 不是规范要求强制支持的,所以使用之前要进行测试,看设备是否支持。
在Canvas里面每按下一个按键都会触发keyPressed()函数,并传入相应位置的整数值, KEY_NUM0到KEY_NUM9 十个常数分别代表键盘上的0-9,还有两个功能键,KEY_STAR
(*键),KEY_POUND(#键),如果我们传入的值小于0