Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何退出SurfaceView?_Java_Android_Bitmap_Android Canvas_Surfaceview - Fatal编程技术网

Java 如何退出SurfaceView?

Java 如何退出SurfaceView?,java,android,bitmap,android-canvas,surfaceview,Java,Android,Bitmap,Android Canvas,Surfaceview,我使用SurfaceView在画布上绘制一些东西。我如何定义在用户完成后取消surfaceView的方法?下面是我的SurfaceView实现。drawintop类有onDraw()但是我初始化了Preview类中的所有变量 public class Preview extends SurfaceView implements SurfaceHolder.Callback { SurfaceHolder mHolder; DrawOnTop mDrawOnTop; bo

我使用
SurfaceView
在画布上绘制一些东西。我如何定义在用户完成后取消surfaceView的方法?下面是我的SurfaceView实现。
drawintop
类有
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并将其设置回我想要的活动。

将可见性设置为不可见以隐藏视图

setVisibility(this.Invisible);

从surfaceview退出是什么意思?我的意思是我想摆脱所有已经绘制的东西。你可以在这里发布你的代码吗?。意思是在surfaceview上绘制画布后,你想支持你的活动吗?是的,先生,这正是我想做的。这会删除所有绘制的东西,但会给我一个黑屏。我想让它回到
活动a