如何在LinearLayout中使我的ImageView与TextView对齐?

8
我有以下的ImageView和TextView: enter image description here 这是XML代码:
<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/headerLinearLay" android:orientation="horizontal">
        <ImageView android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/avatarImageView"></ImageView>
        <TextView android:layout_height="wrap_content" android:id="@+id/usernameTextView" android:text="TextView" android:layout_width="wrap_content" android:paddingLeft="4px"></TextView>
    </LinearLayout>

如何使图像和文本处于同一高度?我还希望ImageView在角落里。

1
可能是Android:在文本后面使用alignBaseline为图像的重复问题。 - AdamHurwitz
3个回答

21

尝试这样做:

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/headerLinearLay">
    <ImageView
        android:id="@+id/avatarImageView"
        android:src="@drawable/icon"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"></ImageView>
    <TextView
        android:id="@+id/usernameTextView"
        android:text="TextView"
        android:paddingLeft="4dp"
        android:layout_toRightOf="@id/avatarImageView"
        android:layout_centerVertical="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"></TextView>
</RelativeLayout>

那样做有点效果,但是图片仍然不在顶角,而且文本与图片有些重叠。 - Sheehan Alam
抱歉,我错过了“顶部角落”的句子。为了修复它,我已经移除了android:layout_centerVertical。重叠发生是因为我在android:layout_toRightOf中放入了错误的ID。现在一切都已经修复好了。祝你好运。 - pawelzieba
这实际上并没有回答问题。问题是关于线性布局的。"android:layout_toRightOf" 不在线性布局中。 - Nuwan Harshakumara Piyarathna

5

这里有一个简单有效的解决方案。关键是在TextView中添加:android:layout_gravity="center_vertical"。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/icon" />

    <TextView
        android:id="@+id/usernameTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" />

    </LinearLayout>

0
<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_weight="0.04" />

<ImageView
    android:id="@+id/imageView"
    android:layout_width="204dp"
    android:layout_height="200dp"
    app:srcCompat="@mipmap/ic_launcher" />

5
请将您的答案描述清楚。 - Chetan Joshi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接