我想为Android平板电脑和手机创建不同的布局。我应该在哪里放置布局资源以进行区分?
Answers:
我知道这是一个古老的问题,但是为了它... 文档,您应该创建多个资产文件夹
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)
如果您在代码中使用“片段”概念(即“多窗格”布局),则最好使用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
对于布局,我相信您目前只能通过以下几点来区分:
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中解决。否则,您只需要确保使用适用于任何屏幕尺寸的缩放布局即可。
根据文档,您应该创建这样的多个资产文件夹。.完整列表...
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)
这个来源还提供了如何根据设备配置调用任何资源,例如:语言,屏幕宽度/高度,布局方向,屏幕方向等。
您必须谨慎地使用默认资源作为来源,例如为平板电脑调用高质量的图标。