3

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

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

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

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

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

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

4

3 回答 3

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
于 2013-10-25T11:13:57.130 回答
1

这是教程中写的墙。您想要的文件夹是:

/res/layout-sw480         with layout A
/res/layout-land-sw480    with layout B
/res/layout-land-sw720    with tablet and nexus4 layout
于 2013-10-25T11:14:03.510 回答
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 的屏幕上尝试过

于 2013-10-25T14:38:02.243 回答