第5章-3绘制2D图形.ppt
《第5章-3绘制2D图形.ppt》由会员分享,可在线阅读,更多相关《第5章-3绘制2D图形.ppt(88页珍藏版)》请在三一文库上搜索。
1、绘制2D图形,Android应用程序开发,Android提供了功能强大的图形库,用于移动设备应用程序开发 Android提供两种图形库 二维图形库 三维图形库,1 Android图形基础,二维图形库程序包:android.graphics 掌握图形库的图形类 绘图 创建一个类继承View类(或SurfaceView类) 覆盖onDraw()方法,使用Canvas对象在界面上绘制不同图形,使用invalidate()方法刷新界面。,1.1 Color类,Android中的颜色用4个字节表示(ARGB) 透明度(Alpha) 红色(Red) 绿色(Green) 蓝色(Blue) 一个字节8位可以表
2、示256个数,即每种颜色有256个可选值 颜色通常表示为一个32为整数,1.1 Color类,透明度:衡量颜色透明度 最小值为0,表示该像素完全透明 最大值255,表示该像素完全不透明 Alpha值为0,RGB的值将失效 Alpha值在(0,255)表示该像素的颜色半透明,1.1 Color类,创建color对象 使用Color类的静态常量 Int color = Color.BLUE;/solid blue 使用颜色值 color = Color.argb(127,255,0,255);/Translucent purple int android.graphics.Color.argb(i
3、nt alpha, int red, int green, int blue) Return a color-int from alpha, red, green, blue components. These component values should be 0255, but there is no range check performed, so if they are out of range, the returned color is undefined.,1.1 Color类,在XML文件中引用颜色资源 android:textColor=“color/m“ android
4、:textColor=“android:color/background_light“ 在Java文件中引用颜色资源 Color = getResources().getColor(R.color.m);,在XML资源文件中定义颜色,Color类常用属性和方法,1.2 Paint类,Paint是涂料的意思 Android图形库的重要类之一,位于android.graphics包中 Paint类包含样式、颜色、及绘制图形所需的其他信息 cPaint.setColor(Color.LTGRAY) 使用预定义浅灰色设置颜色,1.2 Paint类,Paint类常用方法,1.3 Canvas类,画布 位
5、于android.graphics包中 提供一些画各种图形的方法,如:如矩形、椭圆、园等,1.3 Canvas类,Canvas类常用方法,1.3 Canvas类,Activity类的对象控制屏幕 Activity类的对象引用View类的对象 View类的对象引用Canvas类的对象 重写View.onDraw()方法,可以在指定的画布上绘图 onDraw()方法的参数将制定用于绘画的画布,1.4 Path类,Path类包含一组矢量绘图命令 Path一般用来从某点移动到另一个点连线 Path类位于android.graphics包中,1.4 Path类,圆的绘制方向是顺时针 circle = n
6、ew Path(); Circle.addCircle(150,150,100,Direction.CW); PathEffect类,可以实现图形特效;,1.5 Drawable类,Drawable类主要针对位图等纯色的视图元素 Drawable类支持的格式 Bitmap(位图)PNG/JPEG图像 NinePatch(九宫格)一种可扩展的PNG图像,主要用作大小可调整的位图按钮的背景 Shape(形状)基于Path类的矢量绘图命令,一种简化的可缩放矢量图形格式,1.5 Drawable类,Layers(图层)绘图区的容器 States(状态)一个容器,能根据可绘图区的状态显示其某个子可绘图区
7、。主要用于选择不同的按钮并设置按钮的焦点状态 Levels(级别)一个容器,能根据可绘图区的级别,显示其某个子可绘图区。用于电池或信号强度指示器 Scale(缩放)包含一个子绘图区的容器,能根据可绘图区的当前级别调整其大小。一种用途是可缩放的图片查看器,1.5 Drawable类,Drawable(可绘图区)通常在XML文件中定义 下图定义一种渐变色,可以作为视图的背景 XML文件中使用:android:background=属性 在onCreate()方法中使用:Canvas.setBackgroundResource(R.drawable.drawable_name),1.5 Drawab
8、le类,使用可绘图区资源作为GraphicsView视图的背景后的渐变效果运行如右图示 设置渐变的可绘图区资源时,应该考虑横屏和竖屏时设置不同的可绘制区域,2 在数独程序中添加图形,使用2D图形库提供的绘图类实现游戏中的图形绘制 绘制游戏盘面 绘制数字,2.1 开始游戏,开始游戏-接收难度列表中选择的难度名称索引,实现开始游戏的代码 游戏由Game活动实现,实现过程 接收难度列表中选择的难度名称索引 创建Intent对象 启动Game活动,2.2 定义Game类,从Intent对象中提取表示难度的数字,选择一局游戏,估算每个单元格的无效数字,创建PuzzleView实例,使得PuzzleVie
9、w视图获取焦点,在AndroidManifest.xml文件中注册Game活动,在res/values/strings.xml中添加字符串资源,2.3 定义PuzzleView类,定义此视图能够获得焦点,允许用户在视图中输入,引用Game类,在PuzzleView类中,需要实现onSizeChangede()方法 在视图被创建(布局)时调用 调用该方法前需要确定视图大小的值 onSizeChanged(int w, int h, int oldw, int oldh) w 视图现在的宽度 h视图现在的高度 oldw视图以前的宽度 oldh视图以前的高度,矩形,计算屏幕上每个单元格的大小,将矩形
10、框设置在选择光标的位置,跟踪光标,此前的工作 创建Game活动 定义PuzzleView视图 当开始一个新游戏,启动Game活动,将PuzzleView视图显示在Game活动中,2.4 绘制游戏盘面,更新视图时,Android调用视图的onDraw()方法 Android能够对画布进行剪裁,当视图的部分区域更新时重绘视图的部分,在res/values/colors.xml文件中定义绘图所需的颜色资源,重写onDraw()方法 绘制盘面、绘制数字、绘制提示、绘制选择,用指定的颜色绘制游戏盘面的背景,public void drawRect (float left, float top, floa
11、t right, float bottom, Paint paint) Since: API Level 1 用指定的 paint绘制指定的矩形 Parameters left The left side of the rectangle to be drawn top The top side of the rectangle to be drawn right The right side of the rectangle to be drawn bottom The bottom side of the rectangle to be drawn paint The paint used
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 绘制 图形
链接地址:https://www.31doc.com/p-2256884.html