【问题标题】:Is there any quick way to switch between relative layouts?有什么快速的方法可以在相对布局之间切换吗?
【发布时间】:2016-07-18 00:02:26
【问题描述】:

假设我有一个具有这种结构的 XML:

FrameLayout
    RelativeLayout (on whole screen)
        Buttons, Texts etc.
    RelativeLayout (on whole screen)
        Buttons, Texts etc.

在“设计”或“预览”选项卡上,我总是看到我创建的第一个相对布局。我一直在通过使另一个不可见来在它们之间切换,但是当您有两个以上的布局时,这会很混乱。 Android中是否有提供此功能的选项,我的意思是在一个XML中的不同布局之间切换?

【问题讨论】:

  • 片段?您使用 FragmentTransaction 替换整个布局
  • 我不是说代码方面的,我只需要在设计选项卡上的布局之间切换。
  • 轻按 shift 键两次...输入您要打开的 XML 文件的名称?
  • 搜索没有帮助,因为两个相对布局都在同一个 XML 文件中。
  • 好吧,现在已经多次说过您应该使用 Fragments 和两个布局。 xml文件是廉价资源,所以没有理由不将两个相对布局分开并交换片段

标签: android android-layout


【解决方案1】:

在 Android Studio 上,如果两个 RelativeLayouts 都填满了您的屏幕,您将无法同时正确查看它们。我建议您使用两个包含 RelativeLayout 的 xml 来根据您的需要设计它们。之后,您可以轻松地将它们合并到一个 xml 中。例如:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android">
    <include android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/your_first_relativelayout" />
    <include android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/your_second_relativelayout" />
</FrameLayout>

如果您想以编程方式隐藏或显示布局,您应该为您的两个 RelativeLayouts 分配一个唯一的 id,如下所示:

your_first_relativelayout.xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/your_relative_layout_id"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        ....
    </RelativeLayout>

展示它:

RelativeLayout rl = (RelativeLayout) findViewById(R.id.your_relative_layout_id);
if (rl != null) {
    rl.setVisibility(View.VISIBLE);
}

并隐藏它:

rl.setVisibility(View.GONE);

【讨论】:

    【解决方案2】:

    我认为没有选择。
    最好使用两个布局文件并在编辑器中切换它们。
    (并使用&lt;include&gt;标签将两个布局文件包含在原始布局文件中)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多