为什么我的relativeLayout没有出现在它的兄弟linearLayout之下?

时间:2013-12-17 14:38:11

标签: android android-layout layout android-linearlayout relativelayout

我有以下xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:background="@color/blue_bg">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical" >

        <com.my.view.text.MyTextView
            android:id="@+id/whyResgisterHeaderText"
            style="@style/textOnBg"
            android:layout_marginTop="25dp"
            android:text="WHY REGISTER?"
            android:textStyle="bold" />

        <com.my.view.text.MyTextView
            android:id="@+id/whyResgisterBodyText"
            style="@style/textOnBg"
            android:text="Help us keep your account safe"
            android:textStyle="normal" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/signup_illu_why" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >

            <Button
                android:id="@+id/gotItButton"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:layout_marginTop="5dp"
                android:background="@drawable/btn_selector"
                android:padding="0dp" />

            <com.my.view.text.MyTextView
                android:id="@+id/gotItText"
                style="@style/textOnBg"
                android:layout_marginTop="25dp"
                android:text="Got it"
                android:textColor="#00bcfe"
                android:textSize="16dp"
                android:textStyle="italic" />
        </RelativeLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" >

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#70a5b3" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <com.my.view.text.MyTextView
                style="@style/textOnBg"
                android:layout_toLeftOf="@+id/skipIcon"
                android:text="Skip"
                android:textStyle="normal" />

            <ImageView
                android:id="@id/skipIcon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:src="@drawable/signup_skip_icon" />
        </RelativeLayout>
    </LinearLayout>

</RelativeLayout>

我希望我的屏幕看起来像:

enter image description here

但看起来像是:

enter image description here

1)为什么我看不到fotter relativeLayout(带有“skip”)

2)我如何将gotItText textView居中?为什么它不是当前属性的中心?

2 个答案:

答案 0 :(得分:0)

因为您的根布局是RelativeLayout。

您应该为第一个LinearLayout声明一个ID,然后在第二个上使用layout_below属性。请记住,他们的位置是亲戚,所以如果你没有指定第二个线性的位置,它将在第一个上面绘制。

如果你想让一个线性低于另一个,则自动使用LinearLayout作为主根。

答案 1 :(得分:0)

编辑了代码,替换了自定义的EditTexts,删除了样式,为布局设置了新的高度,它似乎正常工作。

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/whyResgisterHeaderText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:text="WHY REGISTER?"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/whyResgisterBodyText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Help us keep your account safe"
            android:textStyle="normal" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="5dp" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >

            <Button
                android:id="@+id/gotItButton"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:layout_marginTop="5dp"
                android:padding="0dp" />

            <TextView
                android:id="@+id/gotItText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="25dp"
                android:text="Got it"
                android:textColor="#00bcfe"
                android:textSize="16dp"
                android:textStyle="italic" />

        </RelativeLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" >

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#70a5b3" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/skipIcon"
                android:text="Skip"
                android:textStyle="normal" />

            <ImageView
                android:id="@id/skipIcon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true" />
        </RelativeLayout>
    </LinearLayout>

</RelativeLayout>