是否需要同时保留 "layout" 和 "layout-sw400dp"?

Is there a need to keep both "layout" and "layout-sw400dp"?

我目前正在开发一个应用程序,我正在使用 sw<N>dp 来创建对多屏幕的支持。

我添加了 sw400dp 文件夹,根据 Android Studio 的 XML 渲染器,它基本上包含所有较小的手机。
这意味着它会覆盖布局文件夹。所以现在它只是坐在那里占用 space.
我做错了吗?
sw400dp 应该是布局文件夹并在自己的文件夹中构建更大的布局吗?
或者我可以毫无问题地删除布局文件夹吗?

I added the sw400dp folder, which basicly takes all the smaller phones according to Android Studio's XML renderer. Which means it overrides the layout folder. So

仅适用于最小宽度为 400dp 或更大的设备。 400dp 是 2.5 英寸或 6.35 厘米。我估计有几亿个 Android 设备在使用,其最小宽度小于那个。

Have I gone about this wrong? Should sw400dp be the layout folder and build bigger layouts in their own folders?

可能吧。如果您的布局资源对于最小宽度为 400dp 或更大的设备需要不同,那么您将只有一个 res/layout-sw400dp/ 目录。您的大部分布局资源不需要针对该特定尺寸而有所不同,这意味着 res/layout/ 中的布局资源版本就足够了。

Or can I delete the layout folder without issues?

不,因为那样的话您的应用会在最小宽度小于 400dp 的设备上崩溃。

规则很简单:

  • 将每个布局资源之一放入 res/layout/

  • 将布局资源的修改副本放在其他目录中如果它们需要与目录名称中指定的条件不同

因此,除非您明确 需要为 400dp 及更宽的设备使用不同的布局,否则与小于 400dp 的设备相比,您不需要 res/layout-sw400dp/ .