7.3.3 Surface控件
Surface控件是用来展示动态图形和视频等内容的控件,其基类是android.view.SurfaceView,它包括用于渲染OpenGL图形信息的android.opengl.GLSurfaceView、展示流媒体信息的android.view.VideoView,等等。
与其他控件不同,Surface具有独立的窗口,可以直接与用户进行交互而不受父控件的控制。这样的设计可以提升Surface控件绘制内容的速度,保证渲染动态图形和视频的流畅度。
当然,脱离了父控件的掌控,也就要求开发者在使用Surface控制时,需要更精准地控制控件的尺寸和位置,避免与其他控件发生重叠和干扰。
正是由于Surface控件有独立的窗口,使得它可以很容易地与其他控件(包括其他Surface控件)层叠展示。调用SurfaceView.setZOrderOnTop等函数可以控制Surface控件对象所在窗口的层次。