在Android中为所有屏幕尺寸和所有屏幕密度创建布局的最佳做法是什么

时间:2018-05-14 02:54:24

标签: android android-layout screen-resolution aspect-ratio

根据我阅读的内容(包括官方文档),建议创建单独的布局,单独的drawable,单独的dimens.xml文件以适应所有屏幕尺寸和屏幕密度但是从我看到的,有超过100个手机的屏幕尺寸/屏幕密度的不同组合以及为每个手机创建独特的布局/抽屉几乎是不可能的。

通过简单地以编程方式调整单个布局可以实现相同的结果,但是,根本没有人建议这种方法。为什么呢?

即使我在布局中使用dp来调整元素大小,但在不同的密度上它仍然会有所不同。

假设您有具有xhdpi密度的大屏幕设备的布局,您是否只将这些设备用于这些设备?似乎不太可能。

有人可能会制作出适合所有屏幕尺寸/屏幕密度的应用程序吗?

必须有一种最佳方法来为所有屏幕尺寸和所有屏幕密度创建布局但是什么?我实际上很丢失。任何人都可以提供一个简单的项目,以某种方式这样做吗?

参考: Is there a list of screen resolutions for all Android based phones and tablets?

2 个答案:

答案 0 :(得分:0)

你可以选择两件事:

  1. 根据设备屏幕高度和宽度以编程方式调整UI组件的高度和宽度。
  2. 在xml中使用重量而不是使用固定的高度和重量,所以一切都将基于比率。
  3. 注意:您不能同时使用这两者。

答案 1 :(得分:0)

我有一些解决方案

  1. 使用ConstraintLayout (https://developer.android.com/training/constraint-layout/
  2. 使用PercentRelativeLayout(https://developer.android.com/reference/android/support/percent/PercentRelativeLayout
  3. Sdp转换器(https://github.com/intuit/sdp
  4. 就我而言。我用了所有这些。他们也可以一起工作。