在Android中,为所有屏幕大小和屏幕密度创建布局的最佳实践是什么

在Android中,为所有屏幕大小和屏幕密度创建布局的最佳实践是什么,android,android-layout,screen-resolution,aspect-ratio,Android,Android Layout,Screen Resolution,Aspect Ratio,根据我阅读的内容(包括官方文档),建议创建单独的布局、单独的绘图表、单独的dimens.xml文件,以适应所有屏幕大小和屏幕密度,但根据我所看到的,手机的屏幕大小/屏幕密度有100多种不同的组合,为每一款手机创建独特的布局/绘图几乎是不可能的 同样的结果也可以通过简单地以编程方式调整单个布局来实现,但是,没有人建议使用这种方法。为什么? 即使我在布局中使用dp来调整元素的大小,它在不同的密度上看起来仍然是不同的 假设你有xhdpi密度的大屏幕设备布局,你的应用程序只对那些设备可用吗?似乎不太可能

根据我阅读的内容(包括官方文档),建议创建单独的布局、单独的绘图表、单独的dimens.xml文件,以适应所有屏幕大小和屏幕密度,但根据我所看到的,手机的屏幕大小/屏幕密度有100多种不同的组合,为每一款手机创建独特的布局/绘图几乎是不可能的

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

即使我在布局中使用dp来调整元素的大小,它在不同的密度上看起来仍然是不同的

假设你有xhdpi密度的大屏幕设备布局,你的应用程序只对那些设备可用吗?似乎不太可能

有人怎么可能制作出一款适合所有屏幕尺寸/屏幕密度的应用程序

在为所有屏幕大小和所有屏幕密度创建布局时,必须有一个最佳方法,但是什么呢?我真的迷路了。有人能提供一个简单的项目,以某种方式做到这一点吗

参考:
你可以做两件事:

  • 根据设备屏幕的高度和宽度以编程方式调整UI组件的高度和宽度
  • 在xml中,使用权重,而不是使用固定的高度和权重,因此所有内容都将基于比率

  • 注意:您不能同时使用这两种方法。我有一些解决方案供您使用

  • 使用ConstraintLayout ()
  • 使用PercentRelativeLayout()
  • Sdp转换器()

  • 就我而言。我都用了。它们也可以一起工作。

    我使用了带有sdp转换器的约束布局,但它不适用于小屏幕。有什么想法吗?字体会变大吗?