Android-Canvas&Drawable

Android-Canvas&Drawable
一 Canvas
canvas:画布
用于在屏幕上呈现图形,形象称为画布

二 canvas介绍
常用的类
1 clip:裁剪区域

2 matrix:矩阵
将画布分为许多格子
旋转方法是画布旋转

3 save:保存画布的状态
restore:恢复画布的状态
例如将画布旋转后在画其他的内容,保存后,在恢复,

常用的draw方法:
drawRectl:画矩形
drawCircle:画圆形
drawOval:画椭圆
drawPath:画路径
drawLine:画线条
drawPoint:画点
drawText:画文本
drawColor:设置颜色
drawBitmap:画图片

SufaceView:常用于游戏

图形动态设置方法:
不断刷新图形的帧数。
主线程view:invalidate 会使onDraw方法失效
子线程view:postinvalidate会使onDraw方法失效

三 Drawable介绍
常用的Drawable:
Bitmapdrawable:画图,最常用
Shapedrawable:画背影
Picturedrawable:画图片
Layoutdrawable:画布局
自定义drawable:

定义和实现drawable的方法:
1 用资源文件中的图片:
支持的图片有png(推荐), jpg(可以接受), gif(不推荐)
getResource()方法获取drawable文件夹内的资源

2 从xml文件中生成
在drawable文件夹中定义xml文件,在Activity中定义布局并获取xml资源

3 编码自定义构造
自定义一个view类继承自drawable类,重写父类的方法

四 nine-Patch
1 定义:9-patch是一个标准的png图像, 它包括二外的一个像素的边界,后缀名必须为.0.png.
并且保存在工程的res/drawable目录下。如果从apk文件中解压得到的*.9.png,
注意它是已将走位的空包像素去掉的,在使用时必须加上

2 区域
左线和上线:控制拉伸区域
右线和下线:内容控制区域
  
3 使用
工具:draw9patch.bat在sdk下的tool目录下
按下鼠标左键,选中
shift+鼠标左键,取消选中
选中后会有黑线表示

做好的9-patch如下图:

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。