平板电脑在Android中的布局


78

我想为Android平板电脑和手机创建不同的布局。我应该在哪里放置布局资源以进行区分?

Answers:


164

我知道这是一个古老的问题,但是为了它... 文档,您应该创建多个资产文件夹

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

我需要为Nexus 9和Nexus 10设备创建哪些布局文件夹?
Dhaval Khant 2015年

尝试将Nexus 10内容移至sw800dp的文件夹中。Nexus 9先会继续从sw768dp文件夹中采取了线索
费萨尔纳瑟尔

43

如果您在代码中使用“片段”概念(即“多窗格”布局),则最好使用wdp而不是swdp

res/layout-w600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-w720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
res/layout-w600dp-land/main_activity.xml   # For 7” tablets in landscape (600dp wide and                  bigger)
res/layout-w720dp-land/main_activity.xml   # For 10” tablets in landscape (720dp wide and bigger)

请参阅下表以了解wdp

Table 2. New configuration qualifers for screen size (introduced in Android 3.2). 在下面的链接 http://developer.android.com/guide/practices/screens_support.html


23

对于布局,我相信您目前只能通过以下几点来区分:

res/layout/my_layout.xml            // layout for normal screen size
res/layout-small/my_layout.xml      // layout for small screen size
res/layout-large/my_layout.xml      // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode

您可以在此处找到有关可以添加到文件夹结构以区分不同设置的更多信息。

最大的问题是,Android SDK尚未正式整合平板电脑。希望可以在下一版Android中解决。否则,您只需要确保使用适用于任何屏幕尺寸的缩放布局即可。


我认为问题不在于SDK。例如,手机的屏幕尺寸为480x800 hdpi就足以用于平板电脑布局。如果您的应用最适合平板电脑的布局,那么在这种情况下,用户不需要平板电脑就可以享受它的好处。因此,无需区分平板电脑/手机。您指向的链接可以完美解决此问题。谢谢。

Android 3.2以下版本支持此功能
Lalit Sharma 2015年

4

根据文档,您应该创建这样的多个资产文件夹。.完整列表...

res/layout/main_activity.xml  // For handsets (smaller than 600dp available width)
res/layout/main_activity.xml  // For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml  // For 7” tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml  // For 10” tablets (720dp wide and bigger)
res/layout-sw600dp-land/main_activity.xml  // For 7” tablets in landscape (600dp wide and bigger)
res/layout-sw720dp-land/main_activity.xml  // For 10” tablets in landscape (720dp wide and bigger)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.