您是否必须为不同的设备编写不同的布局?

时间:2017-10-23 10:07:11

标签: android android-layout screen-resolution

我只想要一些经验丰富且经验丰富的教育答案,快速回答就足够了:

我希望尽可能多地使用constraint layout和百分比参数,以便我的应用能够完美无瑕地调整到高于特定分辨率的所有屏幕分辨率,例如1080p ...不同浏览器屏幕上的网页。

所以我花了很多时间在它上面,现在看来我越是探索这个领域,我越发现我的最初目的可能会有根本的缺陷 - 似乎更常见的做法是你必须先DETECT您的应用运行设备的分辨率,然后相应地加载不同的布局。

但我不放弃,你能帮我决定我应该采取哪个方向吗?

3 个答案:

答案 0 :(得分:2)

我从您的查询中了解到,开发一款能够“完美无瑕地调整所有屏幕分辨率”的应用程序的最佳做法是什么。
我已经处理了几个针对核心安卓公司的平台级别问题/错误,并且报告的大多数问题应用都是由于这些规范的使用不正确引起的。
例如:
- 不提供为每个广义密度桶定制的位图资源

如果您可以花一些时间浏览基础知识,开发人员链接可能会有所帮助:
developers_multiscreen

答案 1 :(得分:0)

  

您是否必须为不同的设备编写不同的布局?

没有

如果您需要针对不同设备的高度不同的布局。

E.g。如果在平板电脑版本中你必须添加你不会在手机版中使用的视图,那么你可以:

1)处理他们的可见性并仅使用一个布局,但是......

2)如果这些视图太多,或者它们是需要大量RAM的特定视图(如地图视图),您可以决定将布局分成两部分,以便在手机上获得更好的性能。

无论如何,在代码中,你必须以编程方式检查系统将要使用的布局,并且你必须非常准确,以避免不一致然后出现故障或崩溃。 所以你可以决定在大多数情况下牺牲性能以保持稳定性,并且很少使用不同的布局。

答案 2 :(得分:0)

您必须制作以下屏幕尺寸布局文件

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

您必须设置最小屏幕宽度的尺寸。

参阅:https://developer.android.com/guide/practices/screens_support.html