Android适配不同的屏幕

2025-11-11 20:18:16

1、为了针对不同的屏幕去优化用户体验,你需要对每一种将要支持的屏幕尺寸,创建唯一的XML文件。每一种layout需要保存在相应的资源目录中,目录以-<screen_size>为后缀命名。例如,对大尺寸屏幕(large screens),一个唯一的layout文件应该保存在res/layout-large/中。

2、例如,这个工程包含一个默认layout和一个适配大屏幕的layout:

Android适配不同的屏幕

3、layout文件的名字必须完全一样,为了对相应的屏幕尺寸提供最优的UI,文件的内容不同。

按照惯例在你的app中简单引用:

Android适配不同的屏幕

4、系统会根据你的app所运行的设备屏幕尺寸,在与之对应的layout目录中加载layout。更多关于Android如何选择恰当资源的信息.

另一个例子,这一个工程中有为适配横向屏幕的layout:

Android适配不同的屏幕

5、默认的,layout/main.xml文件用作竖屏的layout。

如果你想给横屏提供一个特殊的layout,也适配于大屏幕,那么你需要使用large和land修饰符。

Android适配不同的屏幕

1、你应该为4种普遍分辨率:低,中,高,超高精度,都提供相适配的bitmap资源。这能帮助你在所有屏幕分辨率中都能有良好的画质和效果。

2、要生成这些图像,你应该从原始的矢量图像资源着手,然后根据下列尺寸比例,生成各种密度下的图像。

xhdpi: 2.0

hdpi:  1.5

mdpi:  1.0 (基准)

ldpi:  0.75

3、这意味着,如果你针对xhdpi的设备生成了一张200x200的图像,同样的你应该为hdpi生成150x150,为mdpi生成100x100, 和为ldpi生成75x75的图片资源。

然后,将这些文件放入相应的drawable资源目录中:

Android适配不同的屏幕

4、任何时候,当你引用@drawable/awesomeimage时系统会根据屏幕的分辨率选择恰当的bitmap。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢