在Android中动态更改布局

时间:2012-12-17 04:13:36

标签: android layout dynamic

我有一个活动,它在layout.xml文件中加载一些布局。第一个LinearLayout将所有视图托管在一起。第二个线性布局将两个标签放在一起。 Relative布局托管一些标签和一个在加载时填充项目的ListView。我想通过实现RelativeLayout到另一个布局的“转换”来改进导航,而不会影响活动中的其他布局。换句话说,当单击ListView(OnItemClickListener)填充的其中一行时,此事件侦听器将使用新布局替换当前RelativeLayout。

有任何实现这个目标的想法吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:background="#FFDECE"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="Date"
            android:layout_weight="0.5"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Gang Code"
            android:layout_weight="1.0"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </LinearLayout>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="10dp">

        <TextView
            android:id="@+id/tvEmpyName"
                ....

    </RelativeLayout>

    <ListView
        android:id="@+id/lvATRDisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

您可以使用ViewFlipper。并使用setDisplayedChild(int)显示特定布局,即子

e.g。

setDisplayChild(0);