先看看实现效果:
SurfaceView类介绍:
进入源码:
public class SurfaceView extends View {
public SurfaceView(Context context) {
super((Context)null, (AttributeSet)null, 0, 0);
throw new RuntimeException("Stub!");
}
public SurfaceView(Context context, AttributeSet attrs) {
super((Context)null, (AttributeSet)null, 0, 0);
throw new RuntimeException("Stub!");
}
public SurfaceView(Context context, AttributeSet attrs, int defStyleAttr) {
super((Context)null, (AttributeSet)null, 0, 0);
throw new RuntimeException("Stub!");
}
public SurfaceView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super((Context)null, (AttributeSet)null, 0, 0);
throw new RuntimeException("Stub!");
}
public SurfaceHolder getHolder() {
throw new RuntimeException("Stub!");
}
protected void onAttachedToWindow() {
throw new RuntimeException("Stub!");
}
protected void onWindowVisibilityChanged(int visibility) {
throw new RuntimeException("Stub!");
}
public void setVisibility(int visibility) {
throw new RuntimeException("Stub!");
}
protected void onDetachedFromWindow() {
throw new RuntimeException("Stub!");
}
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
throw new RuntimeException("Stub!");
}
public boolean gatherTransparentRegion(Region region) {
throw new RuntimeException("Stub!");
}
public void draw(Canvas canvas) {
throw new RuntimeException("Stub!");
}
protected void dispatchDraw(Canvas canvas) {
throw new RuntimeException("Stub!");
}
public void setZOrderMediaOverlay(boolean isMediaOverlay) {
throw new RuntimeException("Stub!");
}
public void setZOrderOnTop(boolean onTop) {
throw new RuntimeException("Stub!");
}
public void setSecure(boolean isSecure) {
throw new RuntimeException("Stub!");
}
}
从源码中可以看到:
SurfaceView 介绍
- SurfaceView 就是带 Surface 的 view,它是一个 View,是 View 的子类,所以和其他 View 一样,可以在屏幕上展示东西接收用户输入,具有 View 的生命周期回调函数,如 onMeasure、onLayout、onDraw、onTouchEvent 等
- SurfaceView 带有独立的 Surface(独立与