Android布局优先?

时间:2014-08-11 08:55:06

标签: java android xml android-layout

我研究过Android XML,但是我遇到了布局方面的问题。 如您所见,我声明了2个线性布局和1个相对布局,因此顺序为线性(1) - 相对(2) - 线性(3) 但是当我运行它时,显示屏显示线性(1) - 线性(3) - 相对(2)。

所以,我想知道布局中是否有优先权或规则:)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffff0000"
    >
    <Button
        android:id="@+id/backBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Linear_Layout1 (1)" 
        />

    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff000000"
        >   
        <TextView
            android:id="@+id/text01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Relative_layout1 (2)"
            android:textColor="#ff0000ff"
            android:textSize="19dp" 
            />
        <TextView
            android:id="@+id/text02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Mosquito"
            android:textColor="#ff00ff00"
            android:textSize="15dp"
            android:background="#ffff0000"
            android:layout_centerInParent="true"
            android:layout_toRightOf="@id/text01"
            />
        <LinearLayout 
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:background="#fff0f0f0"
            >
            <TextView
                android:id="@+id/text03"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Linear_layout2 (3)"
                />
        </LinearLayout>
    </RelativeLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

否没有任何优先权。

您已将 android:layout_centerInParent =&#34; true&#34; 设置为 text01 &amp;没有任何与相对布局的子视图对齐。

如果没有为相对布局的子视图指定任何对齐而不是重叠。(并从下到上添加到堆栈中)

查看更新视图,从顶部到底部以相对布局添加视图

<Button
    android:id="@+id/backBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Linear_Layout1 (1)" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff000000" >

    <TextView
        android:id="@+id/text01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Relative_layout1 (2)"
        android:textColor="#ff0000ff"
        android:textSize="19dp" />

    <TextView
        android:id="@+id/text02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/text01"
        android:layout_toRightOf="@id/text01"
        android:background="#ffff0000"
        android:text="Mosquito"
        android:textColor="#ff00ff00"
        android:textSize="15dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/text02"
        android:background="#fff0f0f0"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/text03"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Linear_layout2 (3)" />
    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffff0000">
    <Button
        android:id="@+id/backBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Linear_Layout1 (1)"/>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#ff000000">
        <TextView
            android:id="@+id/text01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Relative_layout1 (2)"
            android:textColor="#ff0000ff"
            android:textSize="19dp"/>
        <TextView
            android:id="@+id/text02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Mosquito"
            android:textColor="#ff00ff00"
            android:textSize="15dp"
            android:background="#ffff0000"
            android:layout_centerInParent="true"
            android:layout_toRightOf="@id/text01"/>

    </RelativeLayout>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:background="#fff0f0f0">
        <TextView
            android:id="@+id/text03"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Linear_layout2 (3)"/>
    </LinearLayout>
</LinearLayout>