Android layer图层是什么?
从字面上看android中的layer就是图层的意思,一般用于android中自定义控件的绘制中。从字面上意思看很像photoshop中的图层概念,也就是说大于1张图层以上重叠的图层组,从而可以创建一个复杂的图层,photoshop里面一张漂亮的画都是由多张图层来完成的。在android中layer是跟canvs配合使用,创建一个图层可以使用canvas.saveLayer()来创建,图层是基于栈结构进行管理的。
如图:
Android layer图层做什么?
Layer作用当然就是做复杂的界面,Android通过调用saveLayer()方法或者是saveLayerAlpha()方法将一个图层入栈,使用restore()方法、restoreToCount()方法将一个图层出栈。然而入栈的时候,后面所有的操作都发送在这个入栈的图层之上,而出栈的时候,则会把图像会知道上层的Canvas上。接下来通过代码来看看如何使用Layer。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//图层一
canvas.drawColor(Color.WHITE);//白色底色图层
mPaint.setColor(Color.BLACK);
canvas.drawCircle(200, 200, 100, mPaint);//黑色圆形
//图层二
canvas.saveLayerAlpha(0, 0, 400, 400, 127, Canvas.ALL_SAVE_FLAG);
mPaint.setColor(Color.YELLOW);
canvas.drawCircle(250, 250, 100, mPaint);//黄色圆形
canvas