【发布时间】:2017-08-18 07:48:22
【问题描述】:
让我先说说我所做的研究。
在developer.android.com 上,它声明应执行以下操作以支持不同的屏幕尺寸:
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation
它还指出drawables应该像这样缩放:
要为不同密度创建替代位图可绘制对象,您应该遵循六种通用密度之间的 3:4:6:8:12:16 缩放比例。例如,如果您有一个用于中等密度屏幕的 48x48 像素的可绘制位图,则所有不同的尺寸应该是:
- 36x36 (0.75x) 用于低密度
- 48x48(1.0x 基线)用于中等密度
- 72x72 (1.5x) 用于高密度
- 96x96 (2.0x) 用于超高密度
- 144x144 (3.0x) 用于超超高密度
- 192x192 (4.0x) 用于超超超高密度
现在这是我的问题,假设我正在为 nexus 10 设计横向模式。然后此设备将属于res/layout-large-land/,其屏幕密度将低于(2.0x) for extra-high-density - xhdpi。
但我不明白的是,nexus 10 具有平板电脑大小的屏幕,但它属于 xhdpi,这意味着将从可绘制资源文件夹中获取的图像在此设备上显示得更小。我已经在 nexus 10 和我的手机上对此进行了测试,并且在 nexus 10 上的图像要小得多,正如我所期望的那样。
我已经对此感到困惑一段时间了,我已经做了很多研究。任何人都可以帮我澄清这些。谢谢。
【问题讨论】:
标签: android android-layout android-drawable android-screen-support