该项目的前任开发人员根据 large 或 xlarge 制作了所有可绘制文件夹。我们重构了布局和值以利用“sw”文件夹。 large 和 xlarge 的可绘制文件夹如何映射?
这是有问题的文件夹:
- 可绘制
- drawable-mdpi
- drawable-hdpi
- drawable-xhdpi
- drawable-xxhdpi
- drawable-xxxhdpi
- drawable-large
- drawable-large-hdpi
- drawable-large-xhdpi
- drawable-large-xxhdpi
- drawable-large-xxxhdpi
- drawable-xlarge
我想按原样保留手机文件夹(未标记为 large 或 xlarge 的文件夹),但将其他文件夹转换为 sw 文件夹。 有人知道这些文件夹的正确 sw 等价物吗?
最佳答案
来自 this链接,我们看到:
hdpi: High-density screens; approximately 240dpi.
xhdpi: Extra-high-density screens; approximately 320dpi. Added in API Level 8large: Screens that are of similar size to a medium-density VGA screen. The minimum layout size for a large screen is approximately 480x640 dp units. Examples are VGA and WVGA medium-density screens.
至于 smallestWidth 或 sw,它表示如下:
您可能会在此处用于常见屏幕尺寸的一些值:
320, for devices with screen configurations such as:
240x320 ldpi (QVGA handset)
320x480 mdpi (handset)
480x800 hdpi (high-density handset)
480, for screens such as 480x800 mdpi (tablet/handset).
600, for screens such as 600x1024 mdpi (7" tablet).
720, for screens such as 720x1280 mdpi (10" tablet).
编辑:
可绘制对象标有后缀的顺序很重要。 例如:
在这种情况下,drawable-large-hdpi
将选择
large
属性第一,意思是它的像素密度大约为480*640 dp单位。然后,
hdpi
大约为 240dpi。 Android 将根据设备运行时的每英寸设备点数使用 hdpi。
我相信 480*640 将转换为 layout-sw600dp
,最小宽度为 600dp 的屏幕。通常用于对角线尺寸为 7 英寸屏幕的平板电脑。
为了安全起见,你可以在layout-sw600dp-hdpi
和layout-sw600dp-xhdpi
下新建一个文件夹,测试一下,看看在hdpi和xhdpi上运行如何平板电脑。
注意:
请记住,创建以前文件夹的开发人员 e.g: drawable-large-hdpi
可能已经把他们想要的任何东西放在了任何地方。所以这并不意味着 drawable-large-hdpi
中的图像一定是 480*640 尺寸并且仅适用于 hdpi 设备。
关于android - 将可绘制文件夹从 'large' 重构为 'sw123dp',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50932202/