如何在RelativeLayout中使用layout_below?

时间:2016-01-27 09:02:49

标签: android xml layout view

这是我的代码(不是所有代码,我删除了一些代码):

<RelativeLayout
        android:id="@+id/info_in_my"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/head_in_my"
        android:layout_marginTop="@dimen/spacing_size_36dp">

        <ImageView
            android:id="@+id/pic_in_my"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/spacing_size_36dp"
            android:layout_alignParentStart="true"
            android:src="@mipmap/icon_policeman" />
        <TextView
            android:id="@+id/name_in_my"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="AAAAAA"
            android:layout_toEndOf="@id/pic_in_my"
            android:layout_centerInParent="true"
            android:textColor="@color/font_white"
            android:textSize="@dimen/font_size_18sp" />

        <TextView
            android:id="@+id/organization_in_my"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="BBBBBBBBBBBBBBBBB"
            android:layout_below="@+id/name_in_my"
            android:layout_toEndOf="@+id/pic_in_my"
            android:textSize="@dimen/font_size_12sp"
            android:textColor="@color/font_white" />

    </RelativeLayout>

结果如下:

enter image description here

我希望字符串BBBBBBBBB低于字符串AAAAAA,所以它不对。

我在第一个android:layout_centerInParent="true"中删除了TextView但没有更改。

android:layout_below="@+id/name_in_my"使用View

时,android:layout_centerInParent="true"无效

我想知道为什么?

3 个答案:

答案 0 :(得分:3)

要回答您的问题,“如何在RelativeLayout中使用layout_below?”,请查看以下示例:

<Button android:id="@+id/b1"
    .... />
<Button android:id="@+id/b2"
    android:layout_below="@id/b1"
    .... />

这意味着您希望按钮b2低于b1。请注意,我使用的是@id而不是@+id,因为我已在我的按钮b1声明中添加了标识b1,因此,没有理由再次添加它。< / p>

由于您希望BBBBB低于AAAA,因此您必须将layout_below="id of AAAA"放入BBBB

android:layout_centerInParent表示您希望视图位于父视图的中心,在您的情况下,视图是整个相对布局。

答案 1 :(得分:0)

尝试下面的布局 -

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/info_in_my"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/head_in_my"
    android:layout_marginTop="@dimen/spacing_size_36dp"
    >
    <ImageView
        android:id="@+id/pic_in_my"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/spacing_size_36dp"
        android:layout_alignParentStart="true"
        android:src="@drawable/ic_launcher"
        />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/pic_in_my"
    android:layout_toEndOf="@+id/pic_in_my"
    android:layout_alignParentTop="true"
    android:layout_alignBottom="@+id/pic_in_my">
    <TextView
        android:id="@+id/name_in_my"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="AAAAAA"
        android:layout_centerVertical="true"
        android:textColor="@color/font_white"
        android:textSize="@dimen/font_size_18sp"
        />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="BBBBBBBBBBBBBBBBB"
    android:textSize="@dimen/font_size_12sp"
    android:textColor="@color/font_white"
    android:layout_below="@+id/name_in_my"
    android:layout_alignLeft="@+id/name_in_my"
    android:layout_alignStart="@+id/name_in_my" />
</RelativeLayout>

</RelativeLayout>

答案 2 :(得分:0)

toRightOf

中使用toEndOf代替textviews