首页 > 解决方案 > 最佳实践:res 文件夹 - Xdpi vs swXXXdp

问题描述

我已经开发了大约 5 年,并且一直在我的 res 目录(mdpi、hdpi、xhdpi 等)中使用“dpi”文件夹和用于平板电脑的“sw”文件夹(sw600dp、sw720dp 等)。

我在 Android Studio 中注意到,从 Nexus 6 开始,谷歌在 sw 存储桶中列出了其较新的设备,而不是在 dpi 存储桶中。

我知道我们仍然可以使用 dpi 文件夹,但我们应该这样做吗?还是我们应该为所有设备尺寸转换到 sw 文件夹?

还是没关系?

在此处输入图像描述

标签: android

解决方案


谷歌在 sw 存储桶中列出了其较新的设备,而不是在 dpi 存储桶中。

首先,这些是独立的概念:

  • sw是“最小宽度”,指的是尺寸
  • dpi是“每英寸点数”,指的是屏幕密度

此外,我可以看到该屏幕截图中没有出现“sw”。所以,我不知道你在担心什么。

一种猜测是,您正在查看类似420dpi和的值,xhdpi并认为它们是不同的概念。它们都是密度。Android Studio UI 列出了比我们用于资源的更细粒度的密度桶。xhdpi例如,是 320dpi。

另一个猜测是,您正在查看类似的值420dpi并认为它表示-sw420dp,但事实并非如此。

我知道我们仍然可以使用 dpi 文件夹,但我们应该这样做吗?

对于位图,是的。对于其他任何事情,没有。

还是我们应该为所有设备尺寸转换到 sw 文件夹?

根据您的 UI,可能需要使用基于大小的文件夹(-wNNNdp、、-hNNNdp-swNNNdp用于不同的值) 。NNN如果您需要不同的布局或边距或填充或基于屏幕大小的东西,这些文件夹很有用。


推荐阅读