2

我是一名初学者/中级 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);
}
4

1 回答 1

2

像这样的东西应该可以解决问题,在获取位图后放置它

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);

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

于 2012-06-18T20:49:33.273 回答