Android 读取值文件夹的顺序是什么?
What order does Android read values folders?
在我的 Android 项目中,我有多个值文件夹,其扩展名为 -hdpi
、-xhdpi
和 -sw720dp
。在所有这些文件夹中,我有 dimens.xml
和 xml 文件中相同的值名称。如果我有一个宽度为 720 dp 的设备并且被算作 xhdpi 设备(作为示例),那么 Android 从哪个文件夹读取值?另外,一般来说,Android 如何确定不同值文件夹的优先级?
Also, in general, how does Android prioritize the different values folders?
一般来说,Android 从具有相关资源且具有最重要的不同限定符的资源集中获取资源。这里,"most important"表示"appears highest in Table 2 on this Web page","distinct"表示"nobody else has that particular qualifier"。虽然屏幕尺寸和密度有点奇怪。
I have multiple values folders with extensions such as -hdpi, -xhdpi, and -sw720dp. In all of these folders I have dimens.xml and the same names for values in that xml file.
恕我直言,这是一种严重的代码味道。使用与密度无关的度量单位(例如 dp
),在这种情况下,您不需要基于屏幕密度的不同维度资源。根据屏幕尺寸使用不同的是合理的(例如,平板电脑上的边距更大),尽管这样的组合会类似于 res/values/dimens.xml
和 res/values-sw720dp/values.xml
.
If I have a device that has a width of 720 dp and is counted as an xhdpi device (as an example), then from what folder does Android read the values from?
-swNNNdp
在 Table 2 中比 -hdpi
或 -xhdpi
更高,因此应首先考虑。请注意,大小资源集限定符(例如 -large
、-swNNNdp
)用于指定大小 或更大 。因此,如果您的设备的最小宽度为 720dp 或更多,则应使用您的 -sw720dp
资源。
在我的 Android 项目中,我有多个值文件夹,其扩展名为 -hdpi
、-xhdpi
和 -sw720dp
。在所有这些文件夹中,我有 dimens.xml
和 xml 文件中相同的值名称。如果我有一个宽度为 720 dp 的设备并且被算作 xhdpi 设备(作为示例),那么 Android 从哪个文件夹读取值?另外,一般来说,Android 如何确定不同值文件夹的优先级?
Also, in general, how does Android prioritize the different values folders?
一般来说,Android 从具有相关资源且具有最重要的不同限定符的资源集中获取资源。这里,"most important"表示"appears highest in Table 2 on this Web page","distinct"表示"nobody else has that particular qualifier"。虽然屏幕尺寸和密度有点奇怪。
I have multiple values folders with extensions such as -hdpi, -xhdpi, and -sw720dp. In all of these folders I have dimens.xml and the same names for values in that xml file.
恕我直言,这是一种严重的代码味道。使用与密度无关的度量单位(例如 dp
),在这种情况下,您不需要基于屏幕密度的不同维度资源。根据屏幕尺寸使用不同的是合理的(例如,平板电脑上的边距更大),尽管这样的组合会类似于 res/values/dimens.xml
和 res/values-sw720dp/values.xml
.
If I have a device that has a width of 720 dp and is counted as an xhdpi device (as an example), then from what folder does Android read the values from?
-swNNNdp
在 Table 2 中比 -hdpi
或 -xhdpi
更高,因此应首先考虑。请注意,大小资源集限定符(例如 -large
、-swNNNdp
)用于指定大小 或更大 。因此,如果您的设备的最小宽度为 720dp 或更多,则应使用您的 -sw720dp
资源。