我在三星 Galaxy Tab E(Nougat 7.0 API 24)上有一个奇怪的错误:当我将“设置”上的“屏幕缩放”更改为“巨大”设备时,我有 2 个布局目录(布局和布局-sw600dp)原因是从“layout”目录中获取 XML,而不是从“layout-sw600dp”中获取 XML,对于所有其他密度,除了这个之外,它都可以正常工作。
这个错误有解决方案吗?
我在三星 Galaxy Tab E(Nougat 7.0 API 24)上有一个奇怪的错误:当我将“设置”上的“屏幕缩放”更改为“巨大”设备时,我有 2 个布局目录(布局和布局-sw600dp)原因是从“layout”目录中获取 XML,而不是从“layout-sw600dp”中获取 XML,对于所有其他密度,除了这个之外,它都可以正常工作。
这个错误有解决方案吗?
系统会使用最接近(不超过)设备最小宽度的那个,但是当屏幕缩放设置为Huge时,设备的最小宽度超过600dp。
而且您的布局文件只有两个文件夹(layout
和layout-sw600dp
),所以最后系统选择了layout
文件夹。
它不仅在 Galaxy 设备中,而且您可以在任何超过sw系统的设备中使用它。
layout-sw600
因此,我建议您使用 ConstraintLayout 制作特定的布局,而不是像 etc 那样制作特定的文件夹。
ConstraintLayout 不仅使您的布局灵活,还可以根据设备的Density Pixels的增加或减少调整其大小,还可以节省您的布局。开发时间。我很久以前就遇到过类似的问题,并决定使用 ConstraintLayout 来解决这个问题。
可以在这里找到来自 Google 的 ConstraintLayout 上的一个很好的代码实验室:
希望能帮助到你。祝你好运。