如何解决安卓app设计中屏幕分辨率适配的问题?

要解决这个问题,首先要知道屏幕适配的原理。

不同分辨率的文件夹

首先我们知道android项目目录res下有四个文件夹,drawable-hdpi、drawable-mdpi、drawable-ldpi和drawable-xhdpi,主要是支持多分辨率图片。如果你做的游戏cut是480x800,应该放在drawable-hdpi目录下,如果是320x480,应该放在mdpi目录下。如果是720x1280,一般会放在xhdpi目录下。

默认情况下如何处理图像。

Android在加载图片时有一套严格的规则。它会提前判断手机屏幕的分辨率,然后根据分辨率加载相应文件夹中的图片。如果找不到,就从drawable或者其他drawable-*文件夹里找。找到图片后,系统会将图片大小与手机屏幕进行对比。如果大小一致,则正常显示。如果大小不一致,系统会按照一定的规则缩放图片大小,然后显示在屏幕上。此时,由于图片尺寸已经被缩放,屏幕上的显示效果会受到影响。所以在游戏测试阶段,测试人员要准备不同尺寸和分辨率的设备进行多次检查。如果他们想在上线前对手机游戏进行大规模的兼容性测试,可以尝试使用TestBird等第三方手机游戏的自动化测试平台。

不同尺度屏幕的常见适配方法

通常成熟的游戏厂商对于不同比例和分辨率的屏幕都会有自己的解决方案。对于中小型开发团队或者个人开发者来说,往往没有时间去适应不同尺寸的屏幕。比如常见的安卓设备屏幕比例是16:9,魅族是15:9,IPad是4:3。在这种情况下,屏幕适配变得极其麻烦。在这种情况下,常见的图像缩放会导致屏幕边缘内容的丢失。通常,最好的方法是将图像缩放得尽可能大,保留一些不显示的黑色边框区域。这样做的好处是不会丢失任何内容,缺点是黑边区域实际上会影响用户体验。最早在IPad还没有普及的时候,为了保证游戏尽可能兼容IPad,大量采用了这样的改编方案。

另外,值得一提的是,高手如果做手游剪辑的话可以尽量使用720P,因为目前主流机型的屏幕分辨率都是720P,720P把画面放大到1080P也不会觉得特别模糊,放大到480P也不会不清晰,这是目前很常见的屏幕适配方案,但是既然15 1080p会普及,我觉得情况会有所改变