Android:不同分辨率屏幕上的位图缩放

Android:不同分辨率屏幕上的位图缩放,android,android-canvas,Android,Android Canvas,在我的游戏中,我有一个surfaceView,我使用分辨率为400 x 320像素的位图作为背景。 当我在手机上运行游戏时,我看到画布的大小是,比如说,600 x 400,我加载的位图报告的大小是500 x 400(我不记得确切的数字)。 当我在比手机分辨率更低的模拟器上运行游戏时,我看到画布的大小为533 x 380(不精确),但位图仍然报告大小为500 x 400(因此它最终被剪裁) 这怎么可能?首先,位图.getWidth()/getHeight()报告的大小是否以像素为单位?第二,位图的

在我的游戏中,我有一个surfaceView,我使用分辨率为400 x 320像素的位图作为背景。 当我在手机上运行游戏时,我看到画布的大小是,比如说,600 x 400,我加载的位图报告的大小是500 x 400(我不记得确切的数字)。 当我在比手机分辨率更低的模拟器上运行游戏时,我看到画布的大小为533 x 380(不精确),但位图仍然报告大小为500 x 400(因此它最终被剪裁)

这怎么可能?首先,位图.getWidth()/getHeight()报告的大小是否以像素为单位?第二,位图的大小如何在两个分辨率屏幕上都相同


谢谢

是,
getWidth
getHeight
返回像素大小。位图不会根据屏幕分辨率进行缩放。它们根据屏幕密度进行缩放。在这种情况下,您的手机和模拟器似乎具有相同的密度。还要注意,位图有时根本不缩放。这取决于它们是如何创建或加载的