我是初学者/中级Java学生,我刚开始使用android 2D编程。我在SurfaceView中工作,想要设置背景,但是问题是我不知道如何使背景填充屏幕的100%,这就是我绘制背景的方式:

public GFXSurface(Context context) {
    super(context);
    mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.roadtest);
    getHolder().addCallback(this);
    mThread = new ViewThread(this);
}
public void doDraw(Canvas canvas){
    canvas.drawBitmap(mBitmap, 0, 0, null);
}

最佳答案

这样的事情应该可以解决问题,在获取位图后将其放置

float scale = (float)mBitmap.getHeight()/(float)getHeight();
int newWidth = Math.round(mBitmap.getWidth()/scale);
int newHeight = Math.round(mBitmap.getHeight()/scale);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(mBitmap, newWidth, newHeight, true);


然后像你已经做的那样绘制它:)

09-28 01:10