为NexusOne / NexusS提供Nexus4 / Nexus7的布局资源

时间:2013-10-25 10:56:01

标签: android android-layout

我想为这4款设备提供2种不同的布局。我希望Nexus4(1280x720)和Nexus7(1024x600)使用layoutA和NexusOne / NexusS(均为800x480)来使用LayoutB。

我阅读了开发人员指南,但仍无法弄清楚我应该为“/ res”中的不同布局文件夹指定哪种资格。

更重要的是,我甚至希望NexusOne / NexusS在纵向模式下使用layoutA,在横向模式下使用layoutB。

总之,差异的阈值是屏幕的宽度和密度。我想:

w>480dp use layoutA
w<480dp use layoutB

我可以同时实现这些目标吗?

3 个答案:

答案 0 :(得分:1)

查看文档 - http://developer.android.com/guide/topics/resources/providing-resources.html

对于N4 / N7,有资源目录

layout-sw600/layoutA

对于N1 / NS,有资源目录

layout/layoutB

考虑到横向和水平布局,仅为N1 / NS设置一个附加目录。

N1 / NS

layout-port/layoutA

答案 1 :(得分:1)

这是tutorial写的墙。您想要的文件夹是:

/res/layout-sw480         with layout A
/res/layout-land-sw480    with layout B
/res/layout-land-sw720    with tablet and nexus4 layout

答案 2 :(得分:1)

感谢上面的绅士们的回答。我尝试了许多资格组合,最后找到了正确的组合:

/layout - small layout for short width as N1/NS-port, QVGA-port
/layout-w360dp - big layout for large screens N4/N7, and for landscape mode of N1/NS and QVGA
/layout-land - same as above

这对我来说很好。这里的技巧是QVGA是ldpi,N7是mdpi,N1 / NS是hdpi,N4 / GN是xhdpi。我没有在小于320x480的屏幕上试过它