5

我在画布上使用了背景图像并尝试在设备方向改变时相应地重新调整它的大小,任何人都可以建议我在 android 中是否可以在方向改变时重新调整画布尺寸。

4

1 回答 1

0

我认为不可能调整画布的大小。如果您在画布上使用覆盖整个屏幕的背景图像,那么您可以做的是在方向更改时按以下方式缩放此图像:

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


            // orientation change
            if (_width == width && _height == height) {
                _orient = 0;//portrait
                this.width = width;
                this.height = height;
                            this._holder=holder;
                this.bgBitmap =Bitmap.createScaledBitmap(BitmapFactory
                .decodeResource(res, R.drawable.bg), (_holder
                        .getSurfaceFrame().width()), _holder.getSurfaceFrame()
                        .height(), false);

            } else {
                _orient = 1;//landscape
                this.width = width;
                this.height = height;
                his.bgBitmap =Bitmap.createScaledBitmap(BitmapFactory
                .decodeResource(res, R.drawable.bg), (_holder
                        .getSurfaceFrame().width()), _holder.getSurfaceFrame()
                        .height(), false);

            }

            super.onSurfaceChanged(holder, format, width, height);
        }

这个方法是在我的代码中扩展Engine的类的一部分。我的代码很长,所以我在这里只发布相关部分。

于 2012-10-31T11:39:23.517 回答