我想为这4款设备提供2种不同的布局。我希望Nexus4(1280x720)和Nexus7(1024x600)使用layoutA和NexusOne / NexusS(均为800x480)来使用LayoutB。
我阅读了开发人员指南,但仍无法弄清楚我应该为“/ res”中的不同布局文件夹指定哪种资格。
更重要的是,我甚至希望NexusOne / NexusS在纵向模式下使用layoutA,在横向模式下使用layoutB。
总之,差异的阈值是屏幕的宽度和密度。我想:
w>480dp use layoutA
w<480dp use layoutB
我可以同时实现这些目标吗?
答案 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的屏幕上试过它