SurfaceView简述
来源:互联网 发布:韩语入门自学软件 编辑:程序博客网 时间:2024/05/14 02:47
原文地址:http://developer.android.com/reference/android/view/SurfaceView.html
TIPS:在Android中一个控件即为一个view
翻译如下:
SurfaceView继承自android.view.View
类概述:
它提供了一个内嵌于视图(View)级别的专用于绘图的surface,我们可以利用它来控制surface的格式和尺寸,SurfaceView控制surface放置在屏幕的合适的位置。
surface具有Z轴性质,它总是在装载了SurfaceView的窗口后面;SurfaceView在它所在的窗口上开了个口子用来显示surface。surface由于受到视图层次级别的影响,导致SurfaceView上混合在一起的其他兄弟视图节点都显示在它之前。利用这一性质,我们可以在surface上面放置一些诸如按钮之类的遮罩物体,但是要注意的是,如果有透明的视图放在上面,那么每当surface改变的都要重新计算,这将影响到整体的性能。
一个透明的区域使得surface可见,它是基于视图层级级别中的布局位置。如果布局后的属性改变是被用来绘制一个SurfaceView上面的兄弟视图,那么这个兄弟视图可能无法与surface相混合。【该段有待修改】
我们可以利用SurfaceHolder接口来控制最下面的surface(因为surface就是在所有视图节点之下),它可以利用调用getHolder方法来获取。
当SurfaceView的窗口可见之后,surface就被创建了;窗口显示,则surface创建,可以实现(或者说重写)surfaceCreated方法;窗口隐藏,则surface销毁,可以实现(重写)surfaceDestroyed方法。
实现这个类的目的之一就是提供一个surface,在该surface中利用了第二个线程来渲染屏幕。如果就是为了实现这个目的,那么我们需要了解一些线程的知识:
所有的SurfaceView和SurfaceHolder.Callback方法都是由SurfaceView的窗口中所运行的线程来调用(一般指APP的主线程)。因此它们需要与那些绘制线程所产生的状态保持同步。
我们还必须确保绘制线程访问底层的surface时,surface必须有效。surface的有效期是在surfaceCreated和surfaceDestroyed之间。
- SurfaceView简述
- SurfaceView原理简述
- 追加简述SurfaceView 与 GLSurfaceView效率
- 【Android游戏开发】追加简述SurfaceView 与 GLSurfaceView效率!
- surfaceview
- SurfaceView
- surfaceview
- surfaceview
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- surfaceview
- SurfaceView
- SurfaceView
- 设计技巧14:抽象工厂 Abstract Factory 组合方式 创建零件,用先关零件组合生成一个产品
- sizeWithFont:constrainedToSize:lineBreakMode的使用 (2012-03-20 10:48:40)转载▼ 标签: 宽度 字符串 获取 指定 用于 杂谈分类:
- #i nclude<file.h> 与 #i nclude "file.h"的区别?
- [iOS开发]Status Bar Style
- linux数据库data文件转移到其他服务器的权限问题导致无法看到数据表
- SurfaceView简述
- 看13位CEO、创始人和高管如何提高工作效率
- oozie 扩展与配置相关
- 设计技巧15:模板方法 Template Method 在一个方法中定义一个算法的骨架,而将一些步骤延迟的子类中,实现Ioc
- 交互系统的构建之(二)Linux下鼠标和键盘的模拟控制
- 第二范式实例
- sql的left join、right join和inner join
- 设计技巧16:命令模式 Command 将请求封装成对象,传递行为
- 如何获得SQL Server 2012 MCSA认证