gpt4 book ai didi

java - 如何退出SurfaceView?

转载 作者:行者123 更新时间:2023-12-01 14:07:36 24 4
gpt4 key购买 nike

我使用 SurfaceView 在 Canvas 上绘制一些内容。如何定义用户完成后取消 SurfaceView 的方法?下面是我的 SurfaceView 实现。 DrawOnTop 类具有 onDraw(),但我初始化了 Preview 类中的所有变量。

public class Preview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;

DrawOnTop mDrawOnTop;
boolean mFinished;

Preview(Context context, DrawOnTop drawOnTop) {
super(context);

mDrawOnTop = drawOnTop;
mFinished = false;

// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

public void surfaceCreated(SurfaceHolder holder) {

//I set the bitmaps etc here
mDrawOnTop.mBitmap = Bitmap.createBitmap(mDrawOnTop.mImageWidth,
mDrawOnTop.mImageHeight, Bitmap.Config.ARGB_8888);

mDrawOnTop.mBitmap.setPixels(mDrawOnTop.mRGBData, 0,
mDrawOnTop.mImageWidth, 0, 0, mDrawOnTop.mImageWidth,
mDrawOnTop.mImageHeight);
Button x = new Button(getContext());
x.setText("Hi");
x.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {


}

});
mDrawOnTop.invalidate();

}

public void surfaceDestroyed(SurfaceHolder holder) {

mFinished = true;

}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {

}

}

编辑:

现在经过一些研究,我发现我需要使用 setContentView 并将其设置回我想要的 Activity。

最佳答案

将visibility设置为invisible以隐藏 View

setVisibility(this.Invisible);

关于java - 如何退出SurfaceView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18778646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com