我是初学者/中级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);
然后像你已经做的那样绘制它:)