要创建一个不可见的RelativeLayout与SurfaceView,可以按照以下步骤进行操作:
RelativeLayout relativeLayout = findViewById(R.id.relativeLayout);
SurfaceView surfaceView = findViewById(R.id.surfaceView);
relativeLayout.setVisibility(View.INVISIBLE);
SurfaceHolder surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
// SurfaceView创建时的处理逻辑
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// SurfaceView尺寸改变时的处理逻辑
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// SurfaceView销毁时的处理逻辑
}
});
@Override
public void surfaceCreated(SurfaceHolder holder) {
Canvas canvas = surfaceHolder.lockCanvas();
// 在Canvas上绘制内容
surfaceHolder.unlockCanvasAndPost(canvas);
}
这样就创建了一个不可见的RelativeLayout与SurfaceView,并在surfaceCreated()方法中绘制了内容。请根据实际需求修改绘制逻辑。
下一篇:不可见过渡消除动画