0

我在三星 Galaxy Tab E(Nougat 7.0 API 24)上有一个奇怪的错误:当我将“设置”上的“屏幕缩放”更改为“巨大”设备时,我有 2 个布局目录(布局和布局-sw600dp)原因是从“layout”目录中获取 XML,而不是从“layout-sw600dp”中获取 XML,对于所有其他密度,除了这个之外,它都可以正常工作。

这个错误有解决方案吗?

4

2 回答 2

1

系统会使用最接近(不超过)设备最小宽度的那个,但是当屏幕缩放设置为Huge时,设备的最小宽度超过600dp。

而且您的布局文件只有两个文件夹(layoutlayout-sw600dp),所以最后系统选择了layout文件夹。

于 2018-09-16T12:02:01.090 回答
1

它不仅在 Galaxy 设备中,而且您可以在任何超过sw系统的设备中使用它。

layout-sw600因此,我建议您使用 ConstraintLayout 制作特定的布局,而不是像 etc 那样制作特定的文件夹。

ConstraintLayout 不仅使您的布局灵活,还可以根据设备的Density Pixels的增加或减少调整其大小,还可以节省您的布局。开发时间。我很久以前就遇到过类似的问题,并决定使用 ConstraintLayout 来解决这个问题。

可以在这里找到来自 Google 的 ConstraintLayout 上的一个很好的代码实验室:

https://codelabs.developers.google.com/codelabs/constraint-layout/index.html?index=..%2F..%2Fio2018#0

希望能帮助到你。祝你好运。

于 2018-09-16T15:18:49.810 回答