关于 android:layout_below 在 RelativeLayout 中不起作用

layout_below not working in RelativeLayout

我有一个有 3 个孩子的相对布局。

  • 第一个是 ImageView 封面。
  • 第二个是父级的 ImageView 头像中心和
  • 第三是头像下方的 TextView 应用名称和水平居中。

理论上它应该可以工作,但我的布局没有在头像下方放置文本。相对布局有什么问题?

P/S: android:layout_below="@+id/logo2"android:layout_below="@id/logo2" 我都试过了,但还是不行!

谢谢!

这是我的 xml 布局。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/android_apple"/>

    <ImageView
        android:id="@+id/logo2"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_centerInParent="true"
        android:src="@drawable/default_avatar"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/logo2"
        android:layout_centerHorizontal="true"
        android:text="AAAAAAA"
        android:textStyle="bold"/>
</RelativeLayout>

结果:

layout_below


更改父级相对布局高度以匹配父级。它会起作用的。

喜欢这个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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="match_parent">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/android_apple"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
                                          />

    <ImageView
        android:id="@+id/logo2"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_centerInParent="true"
        android:src="@drawable/default_avatar"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/logo2"
        android:layout_centerHorizontal="true"
        android:text="AAAAAAA"
        android:textStyle="bold"/>
</RelativeLayout>


1
2
3
4
5
6
7
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/logo2"
    android:layout_centerHorizontal="true"
    android:text="AAAAAAA"
    android:textStyle="bold"/>

您正在使用 layout_below="@id/logo2"。使用 layout_below="@id/logo2",它会起作用。


试试这个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 <?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="match_parent">


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="10dp"
        android:adjustViewBounds="true"
        android:src="@drawable/android_apple" />

    <ImageView
        android:id="@+id/logo2"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_centerInParent="true"
        android:src="@drawable/default_avatar" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/logo2"
        android:layout_below="@+id/logo2"
        android:text="AAAAAAA"
        android:textStyle="bold" />

</RelativeLayout>

试试下面的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    <?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">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/android_apple"/>

    <ImageView
        android:id="@+id/logo"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_centerInParent="true"
        android:src="@drawable/default_avatar"
        android:layout_margin="5dp"/>

    <RelativeLayout
        android:id="@+id/profile_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/logo"
        android:elevation="4dp"
        android:layout_marginTop="64dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="AAAAAAA"
            android:textStyle="bold"
            android:layout_margin="10dp"
            android:layout_centerHorizontal="true"/>
    </RelativeLayout>
</RelativeLayout>