Android 中的 Dimen 值混乱
Dimen value confusion in Android
我有这样的需求
对于宽度:
sw0-320: 100dp,
sw321- : 200dp
我应该把这个值放在哪里?
在值文件夹中:100dp或200dp,
在values-w320dp文件夹中:100dp或200dp,
一头雾水!研究了一些文档,但不明白这里的事实!
Android 首先找到它可以用于它 运行 的设备的最具体的资源。
这意味着如果你在 values-sw320dp
中放置了一些东西,并且你是 运行 最小宽度为 320dp 或更大的设备,它会先看这里。如果在该文件夹中找不到资源,它将在基础 values
文件夹中查找。如果您是 运行 最小宽度为 319dp 的设备,它将 不会 在 values-sw320dp
中查找资源。
如果设备的最小宽度或可用宽度为 320dp 或更大,将使用 values-sw320dp
或 values-w320dp
文件夹中的数据,否则使用 values
文件夹中的数据将会被使用。因此,在这种情况下,您需要在 values
文件夹中放置 100dp,在 values-sw320dp
或 values-w320dp
中放置 200dp。问题说要求是关于 sw
(最小宽度),但随后它在文件夹名称中使用可用宽度 (w
) 限定符,因此不清楚您需要哪个。
这方面的文档在 https://developer.android.com/guide/topics/resources/providing-resources 中,您可以在那里查看 smallestWidth
(sw<N>dp
) 和 availableWidth
(w<N>dp
) 限定符。
我有这样的需求
对于宽度: sw0-320: 100dp,
sw321- : 200dp
我应该把这个值放在哪里?
在值文件夹中:100dp或200dp,
在values-w320dp文件夹中:100dp或200dp,
一头雾水!研究了一些文档,但不明白这里的事实!
Android 首先找到它可以用于它 运行 的设备的最具体的资源。
这意味着如果你在 values-sw320dp
中放置了一些东西,并且你是 运行 最小宽度为 320dp 或更大的设备,它会先看这里。如果在该文件夹中找不到资源,它将在基础 values
文件夹中查找。如果您是 运行 最小宽度为 319dp 的设备,它将 不会 在 values-sw320dp
中查找资源。
如果设备的最小宽度或可用宽度为 320dp 或更大,将使用 values-sw320dp
或 values-w320dp
文件夹中的数据,否则使用 values
文件夹中的数据将会被使用。因此,在这种情况下,您需要在 values
文件夹中放置 100dp,在 values-sw320dp
或 values-w320dp
中放置 200dp。问题说要求是关于 sw
(最小宽度),但随后它在文件夹名称中使用可用宽度 (w
) 限定符,因此不清楚您需要哪个。
这方面的文档在 https://developer.android.com/guide/topics/resources/providing-resources 中,您可以在那里查看 smallestWidth
(sw<N>dp
) 和 availableWidth
(w<N>dp
) 限定符。