Android-支持不同的屏幕

Android-支持不同的屏幕,android,canvas,screen,resolution,Android,Canvas,Screen,Resolution,我正在用android为一个小游戏编程,但我一直在理解drawables的伸缩性是如何工作或应该如何完成的 我正在使用Canvas.drawBitmap在画布上的视图中绘制Tilemap 主要的问题是,我不知道我应该如何管理位图以占据与屏幕分辨率无关的相同空间 我的互动程序是64x64 png文件,它位于drawables文件夹中。那么,如果我想让它在xxhdpi屏幕中占据相同的空间,我应该怎么做 我是否应该在drawables xxhdpi文件夹中放置相同的磁贴,但作为192x192文件?或者

我正在用android为一个小游戏编程,但我一直在理解drawables的伸缩性是如何工作或应该如何完成的

我正在使用Canvas.drawBitmap在画布上的视图中绘制Tilemap

主要的问题是,我不知道我应该如何管理位图以占据与屏幕分辨率无关的相同空间

我的互动程序是64x64 png文件,它位于drawables文件夹中。那么,如果我想让它在xxhdpi屏幕中占据相同的空间,我应该怎么做

我是否应该在drawables xxhdpi文件夹中放置相同的磁贴,但作为192x192文件?或者我应该为drawBitmap方法将px转换为dps吗?还是有别的事

我在尝试一些东西时真的很困惑,我觉得自己一事无成


提前谢谢

你说得对。您应该在不同的drawables文件夹中保存具有不同分辨率的位图文件。这允许应用程序根据用户使用的设备大小自动获取所需的文件。

有一点我做得不对,我将64x64 png文件放在可绘制mdpi中,将192x192 png文件放在可绘制xxhdpi中。我仍然无法在两个屏幕上查看相同数量的瓷砖。。。为什么?数量还是质量?36x36 0.75x用于低密度48x48 1.0x用于中密度72x72 1.5x用于高密度96x96 2.0x用于超高密度180x180 3.0x用于超高密度192x192 4.0x用于超高密度。您还需要根据需要设置位图的大小。如果mdpi屏幕中的瓷砖贴图完美显示8x8瓷砖,请查看此数量。我想在xxhdpi屏幕上实现同样的效果。占用的屏幕空间相同。我已经在根据屏幕的密度调整drawBitmap的大小。因此,如果虚拟设备有xxhdpi,我使用drawBitmaptile,x*192,y*192,paint;如果是mdpi drawBitmaptile,x*64,y*64,paint;这是错误的吗?您是否将绘制瓷砖的画布的高度和宽度除以8,并为位图指定相同的大小?