一.SurfaceView
(1)作用:
SurfaceView 继承了Viwe,有View的一切特性,需要通过Canvas画布来绘制。
在Android里主要用来做游戏。
(2)特点:
1.不能单独用来显示,必须要依附一个窗体。
2.可以直接在子线程中刷新UI。
(3)使用方式:
1.在布局里放入SurfaceView
2.实现SurfaceHolder.Callback
3.绘制画布更新画布到SurfaceView,通过lockCanvas()将返回绘制的canvas
二.Canvas(画布):
(1)定义:
这个类相当于一个画布,可以在这个类里画很多东西
(2)常用的几个方法:
drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) //贴图,参数一就是我们常规的Bitmap对象,参数二是源区域(这里是bitmap),参数三是目标区域(应该在canvas的位置和大小),参数四是Paint画刷对象,因为用到了缩放和拉伸的可能,当原始Rect不等于目标Rect时性能将会有大幅损失。
drawCircle(float cx, float cy, float radius,Paint paint)// 绘制圆,参数一是中心点的x轴,参数二是中心点的y轴,参数三是半径,参数四是paint对象;
(3)用Canvas进行画布裁剪:
用Canvas.clip方法
代码示例:
public void draw(Canvas canvas, Paint paint){
canvas.save();//对画布改动前,先保存画布
canvas.clipRect(x,y,x+oneW,y+oneH);//裁剪画布,裁剪一块矩形,参数是 (左,上,右,下)
canvas.drawBitmap(bitmap,x,y,paint);
canvas.restore();//恢复画布
}
三.Paint(画笔):
(1)意义:我们可以根据我们自己的需要去自行设置我们画笔的属性
(2)使用:
构造方法:
Paint()创建一个画笔对象;
Paint(int flags):在构造的时候可以传入一些定义好的属性,eg:Paint.ANTI_ALIAS_FLAG --用于绘制时抗锯齿
Paint(Paint paint):使用构造函数中Paint的属性生成一个新的Paint
常用的方法:
setARGB (int a, int r, int g, int b):用于设置画笔颜色,A 代表 alpha(透明度),R 代表Red (红色),G 代表 Green(绿色),B 代表 Blue(蓝色),它的色值采用16进制,取值在 0 - 255 之间 ,0(0x00) 即 完全没有 ,255(0xff) 代表满值。
setColor(int color):同样是用来设置颜色,如果是常用色,可以使用Color 类中定义好的一些色值。
后记:对于大部分转行的人来说,找机会把自己的基础知识补齐,边工作边补基础知识,真心很重要。
“我们相信人人都可以成为一个IT大神,现在开始,选择一条阳光大道,助你入门,学习的路上不再迷茫。这里是北京尚学堂,初学者转行到IT行业的聚集地。"
留言与评论(共有 0 条评论) |