如何在横向布局中包含纵向布局?

Posted

技术标签:

【中文标题】如何在横向布局中包含纵向布局?【英文标题】:How to include a portrait layout in a landscape layout? 【发布时间】:2016-03-28 15:45:44 【问题描述】:

我设计了完美的纵向布局。我想将 is 作为横向版本的一部分(见附件)。

没有额外的功能,所以我认为没有必要去麻烦使用 Fragments。

当然,横向版本中不能包含纵向版本的布局。以下代码产生“布局不应包含自身”的明显错误:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="horizontal"
    >

    <include
        android:layout_
        android:layout_
        layout="@layout/my_perfect_layout"
        />

    <ImageView
        android:layout_
        android:layout_
        android:layout_gravity="center"
        android:src="@drawable/demo"
        />
</LinearLayout>

有没有办法强制布局目录,这样我就不会得到这个包含无限循环?还是完全有另一种方式?在这一点上,我真的很想避免更改任何 Java 代码!

【问题讨论】:

【参考方案1】:

最佳实践:

将您的内容布局放入无方向布局文件中。 (这是可重复使用的部分) 为您要使用的所有方向创建一个框架布局文件,并包含内容布局。 (这是您放置特定布局部分的部分,例如在横向中包含更多内容)

【讨论】:

按照您的建议创建第三个文件就可以了。感谢您的帮助!

以上是关于如何在横向布局中包含纵向布局?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局为纵向和横向方向配置不同的布局?

iOS 自动布局:如何在 Xcode 故事板中为 iPad 横向和 iPad 纵向设计不同的布局?

如何针对不同的 iPhone 屏幕尺寸在纵向和横向中使用自动布局

如何使用自动布局在纵向模式下垂直堆叠视图并在横向模式下水平堆叠视图?

如何在不使用代码的情况下使用约束 AutoLayout 来指定横向与纵向的不同布局?

Android 纵向和横向布局