Android 如何设置图像以填充画布

Android 如何设置图像以填充画布,android,animation,view,android-canvas,Android,Animation,View,Android Canvas,我试图设置一个png图像来填充画布的背景,同时仍然保持其纵横比。我首先将其转换为位图:然后使用Canvas类中的setBitmap方法设置背景: ) 但是,一旦我转到调用这个扩展视图类的活动,我就会收到一个错误,说我的应用程序意外停止了。 我还尝试过在Canvas和Bitmap类中使用一些其他函数,但似乎没有任何效果 请问最好的方法是什么?我在android开发者网站上读到,有一种方法可以设置图像,使其成为画布,然后可以在画布中绘制其他图像,但我不知道如何做到这一点 谢谢 您可能需要添加一个Lo

我试图设置一个png图像来填充画布的背景,同时仍然保持其纵横比。我首先将其转换为位图:然后使用Canvas类中的setBitmap方法设置背景:

)

但是,一旦我转到调用这个扩展视图类的活动,我就会收到一个错误,说我的应用程序意外停止了。 我还尝试过在Canvas和Bitmap类中使用一些其他函数,但似乎没有任何效果

请问最好的方法是什么?我在android开发者网站上读到,有一种方法可以设置图像,使其成为画布,然后可以在画布中绘制其他图像,但我不知道如何做到这一点


谢谢

您可能需要添加一个Log.d来检查是否从

BitmapFactory.decodeResource(getResources(),R.drawable.board_rev1); 
不是空的。但我在几个应用程序中使用以下方法在onDraw中绘制位图到全屏视图,因此,如果位图为非空,则应该可以正常工作

canvas.drawBitmap(mBitmap, 0, 0, null);
还有一个版本的drawBitmap可以缩放,即

void canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)
Draw the specified bitmap, scaling/translating automatically to fill the 
destination rectangle.

您可能想试试吗?

发布应用程序崩溃时的日志。
void canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)
Draw the specified bitmap, scaling/translating automatically to fill the 
destination rectangle.