Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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 Android画布总是画一个黑屏_Java_Android - Fatal编程技术网

Java Android画布总是画一个黑屏

Java Android画布总是画一个黑屏,java,android,Java,Android,我有一个问题,画布总是画一个黑屏,不管我想画什么。 无论何时我希望contentview是View类,还是我采用布局和 添加类或者让画布绘制背景等等 public class GameSurface extends SurfaceView { private SurfaceHolder holder; GameThread gameThread; Bitmap background; public GameSurface(Context context) { super(conte

我有一个问题,画布总是画一个黑屏,不管我想画什么。 无论何时我希望contentview是View类,还是我采用布局和 添加类或者让画布绘制背景等等

public class GameSurface extends SurfaceView {

private SurfaceHolder holder;

GameThread gameThread;
Bitmap background;

public GameSurface(Context context) {
    super(context);
    holder = getHolder();
    gameThread = new GameThread(this);
    background = BitmapFactory.decodeResource(getResources(), R.drawable.background1);


    holder.addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            gameThread.setRunning(true);
            gameThread.start();
        }

        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
            boolean retry = true;
            gameThread.setRunning(false);
            while (retry){
                try {
                        gameThread.join();
                    retry = false;

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }


        }
    });
}


@Override
protected void onDraw(Canvas canvas) {
    canvas.drawBitmap(background,0,0,new Paint());
}
}
重建和清洁什么都不会带来

有什么问题吗


谢谢大家!

据我所知,默认情况下,任何视图的背景都是透明的。在绘制图像时,请检查图像背景的透明度级别。当图像没有透明度时,会出现此类问题。请查查我不知道你想告诉我什么。这是一个正常的背景,无论它显示什么,但它都是黑色的,而不是只有当我称之为画布绘制时…也许这是一个bug?我使用的是android studioCheck,检查你们使用的图像的透明度,和UX的人一起检查