如何在android中切换布局

时间:2015-10-21 17:30:38

标签: android android-layout

我对Android有点新鲜,我正在创建一个像Instagram一样的界面。我制作了一个布局文件,我不确定我是否采用了正确的方式。首先,任何人都可以告诉我,我有什么是正确的吗?第二,如何更改布局,但在所有布局中仍然有底部按钮。

这是我的主要布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/theContent"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="9"
        android:orientation="vertical">

        <ListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="none"
            android:divider="@null" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/theNav"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:src="@drawable/button1"
            android:id="@+id/button1" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:src="@drawable/button2"
            android:id="@+id/button2"/>

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:src="@drawable/button3"
            android:id="@+id/button3" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:src="@drawable/button4"
            android:id="@+id/button4" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:src="@drawable/button5"
            android:id="@+id/button5" />

    </LinearLayout>

</LinearLayout>

我所说的是,如何在按钮点击时将该ListView替换为另一种布局?

2 个答案:

答案 0 :(得分:1)

你可以做的很少:

  1. 在xml中有多个布局,然后更改可见性(我不建议常规使用)

  2. 添加删除布局&amp;观点(再次可能这样,但不建议)。

  3. 片段 - 添加,删除具有每种布局实现的片段(推荐方式) 有关片段的更多信息,请访问:fragments

  4. 你可以拥有ListView的片段,然后是其他布局的不同片段的数量(每个片段可以有单独的xml布局文件)。然后在按钮上单击,您可以添加,替换,删除片段。以下是有关fragment transaction的更多信息。

答案 1 :(得分:0)

利用包含ViewPager的{​​{1}},下面是您的视图的代码,但应在代码中实例化片段,每个片段都有自己的视图。

请阅读:

http://developer.android.com/training/animation/screen-slide.html

Fragments