layout_weight 对比多个 sw<dp> 屏幕

layout_weight vs multiple sw<dp> screen

我仍然对两者感到困惑。如果我使用 LinearLayout 并为每个视图指定 layout_weight 属性,我是否必须为我的应用程序创建多个布局,例如 sw600dpsw720dp? 在 documentation 中,它将 layout_weight 描述为 child 将占据屏幕的多少。那么这将是创建多个布局的替代方法吗?

这或多或少是一个基于意见的答案。 但是,我更喜欢为不同尺寸创建多个布局。

xlarge screens are at least 960dp x 720dp

large screens are at least 640dp x 480dp

normal screens are at least 470dp x 320dp

small screens are at least 426dp x 320dp

所以用法是使用屏幕尺寸参数创建一个新的布局文件。最后回答你的问题:不,最好有多个布局,但你应该始终使用两者的组合。

有时您不希望在不同的屏幕尺寸上显示相同的内容。例如,应用程序无法从小型平板电脑升级到大型平板电脑。在平板电脑上,应用程序应该看起来不同,并且有更多的内容,其他位置。您无法在单个文件中控制它。对于简单的放大,您可以使用单个文件和权重。但是如果你需要改变内容的显示方式,最好使用不同的文件。

来源:https://developer.android.com/guide/practices/screens_support.html