Android 带碎片的平板电脑/手机布局结构

Android 带碎片的平板电脑/手机布局结构,android,layout,android-fragments,tablet,Android,Layout,Android Fragments,Tablet,本文 对于手机,我们使用res/layout/main.xml和一个片段;对于平板电脑,我们使用res/layout large/main.xml和两个片段。我们必须检查布局中是否有第二个片段,以确定应用程序是在平板电脑上运行还是在手机上运行。 我有4种布局(2种用于手机,2种用于平板电脑): 布局端口 布局用地 布局图-sw600dp-端口 布局图-sw600dp-land 我检查屏幕方向以定义显示器是纵向还是横向模式,并检查布局是否包含一个片段以定义它是平板电脑还是手机 有没有更好的方法

本文 对于手机,我们使用res/layout/main.xml和一个片段;对于平板电脑,我们使用res/layout large/main.xml和两个片段。我们必须检查布局中是否有第二个片段,以确定应用程序是在平板电脑上运行还是在手机上运行。 我有4种布局(2种用于手机,2种用于平板电脑):

  • 布局端口
  • 布局用地
  • 布局图-sw600dp-端口
  • 布局图-sw600dp-land
我检查屏幕方向以定义显示器是纵向还是横向模式,并检查布局是否包含一个片段以定义它是平板电脑还是手机

有没有更好的方法来处理布局和片段?

例如,如果我们有两个片段,是否可以使用一个布局?如果手机屏幕不能同时显示这两个片段而只显示第一个片段,是否可以使用一个布局?


提前感谢!:)

你在那里展示的东西确实是可能的!这就是所谓的主细节流(如果您使用adt在Eclipse中开发,请查看new activity wizard,它将此作为模板选项提供)

这个布局基本上只是一个活动中的两个片段(或者,从android 4.2开始,它们也可以嵌套在另一个片段中!),它们以某种方式相互交互。要创建链接到的布局,需要检测设备是手机还是平板电脑,然后相应地设置两个片段在不同情况下的可见性

您将发现许多检测屏幕大小的方法,无论您是使用英寸、像素还是制造商的默认类别

可以使用及其各种子类以编程方式设置可见性和大小等属性

在任何特定情况下,您是选择使用多个布局来支持不同的屏幕大小,还是选择以编程方式进行更多操作,取决于您自己。就我个人而言,我认为模块化设计代码,然后使用布局将所有部分组合在一起(如果您决定进行更改,这将为您节省大量的麻烦),这始终是一个很好的实践。但是无论哪种方式,支持更多的设备总是需要更多的代码,而且没有两种方法可以解决这个问题……android开发的一个诅咒:P