0

我制作了一个画布,并在其上设置了一个图像,但我希望该图像应该位于每个屏幕的中心。当我更改选项卡、星系等屏幕时,它应该从自身中获取大小。但是使用下面的代码,我每次都会在屏幕的右下角得到一张图像。

这是我的代码:

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    this.w = w;
    this.h = h;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Bitmap b = BitmapFactory.decodeResource(getResource(), R.drawable.north_india);
    canvas.drawBitmap(b, w/2, h/2, mPaint);
}
4

1 回答 1

0

图像是从左上角绘制的。因此,您需要校正图像尺寸。

canvas.drawBitmap(b, (w - b.width()) / 2, (h - b.height()) / 2, mPaint);
于 2012-07-27T07:57:30.413 回答