Я рисую что-то на холсте, используя SurfaceView
. Как я могу определить способ отмены поверхностиView после того, как пользователь будет выполнен? Ниже приведена моя реализация SurfaceView. Класс DrawOnTop
имеет onDraw()
, но я инициализирую все переменные в классе Preview
.Как выйти из SurfaceView?
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) {
}
}
EDIT:
Теперь после некоторых исследований я смог выяснить, что мне нужно использовать setContentView и установить его обратно на операцию я хочу.
что вы подразумеваете под выходом из SurfaceView? –
Я имею в виду, я хочу избавиться от всего, что было нарисовано – User1204501
Можете ли вы разместить свой код здесь, .... – Piyush