0

オプションを設定しても背景の品質が低いのはなぜですか?私のコード:

class GameView extends SurfaceView implements SurfaceHolder.Callback {

 GameThread thread;

BitmapFactory.Options options = new BitmapFactory.Options();
int screenW;
int screenH;
int bgrW;
int bgrH;
Bitmap bgr;

public GameView(Context context, AttributeSet attrs) {
super(context);

    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    options.inSampleSize = 1;
    options.inScaled = false;
    options.inDither = false;
    bgr = BitmapFactory.decodeResource(getResources(), R.drawable.gamebg, options);
    getHolder().addCallback(this);
    setFocusable(true);
    }

@Override
public void onSizeChanged (int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    screenW = w;
    screenH = h;
    bgr = Bitmap.createScaledBitmap(bgr, w, h, true);
    bgrW = bgr.getWidth();
    bgrH = bgr.getHeight();
}

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(bgr, 0, 0, null);
}

このフォーラムで見つかったいくつかの回答により、上記のコードは正しく動作するはずです。onDraw() または onSizeChanged() 領域からいくつかの宣言が欠落している可能性があるかどうか疑問に思っています。

4

1 に答える 1

0

単純な画像の代わりに 9 パッチ画像を試してみてください:

android-sdk\android-sdk-windows\tools\draw9patch

必要な画像を選択し、それらを 9 つのパッチに変換すると、見栄えがよくなります

于 2013-02-05T08:50:47.003 に答える