不同屏幕尺寸的布局,为什么默认选择?

时间:2012-11-21 21:16:56

标签: android eclipse

我已经为小尺寸,大尺寸和超大屏幕尺寸创建了布局文件,但是当我在三星S3仿真器上加载我的应用程序时,分辨率为720 x 1280,它仍然是正在使用的默认布局。

我不明白为什么android没有使用我的特定布局文件。

我已将布局文件放置在文件夹布局下的文件夹布局大,布局小,布局xlarge中。

希望有人可以指出我做错了什么。

感谢。

2 个答案:

答案 0 :(得分:2)

自Android 3.2(API级别13?)以来,您所引用的屏幕尺寸存储桶已被弃用。如果您要定位Android的更高版本,那么您应该使用“最小宽度”限定符来启用更精细的颗粒控制。

例如,三星Note将利用旧的“布局大”桶,但它对小型或普通平板电脑布局反应不佳。这些设备通常运行Android 3.2(DELL Streak 和原始 Galaxy 10.1 标签是例外)。要在此实例中进行区分,请提供layout-sw520-portlayout-sw520-land资源文件夹,并将布局放在此处。可以对Nexus7型设备(sw600)等进行进一步的区分。请注意屏幕上有保留像素(通知/操作栏等),因此物理上最小宽度DPI并不是您的布局将响应的精确值(尽管可预测接近)。

Diana Hackborn(hackbod)在这个主题上写了comprehensive blog post,描述了变革背后的动机以及它解决的各种问题(参见你的问题)。谷歌还提出了一些关于设计多种配置的建议,作为平板电脑驱动器的一部分。如果您遇到进一步的问题,请安装Android Dev Guide拖网。

答案 1 :(得分:0)

三星S3处于“正常”类别。

我发现帮助我很大程度上得到了扩展到不同分辨率的布局是layout_weight =“1”和layout_width =“0dp”,以防万一有人因为这个问题而不知道为什么布局在某些区域没有缩放。