如何在线性布局中使图像垂直居中对齐

9
我有以下布局,左侧是1个图标,右侧是2个文本视图(堆叠在一起)。我希望将text1垂直居中,并且当我使text2可见时,它不会影响text1的位置。请问应该如何实现?
<RelativeLayout android:id="@+id/panel"
        android:layout_width="fill_parent"
        android:layout_height="?android:attr/listPreferredItemHeight">
    <ImageView
        android:id="@+id/icon1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="center_vertical"/>
    <TextView android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon1"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_gravity="center_vertical"/>
    <TextView android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon1"
        android:layout_below="@id/text1"
        android:textAppearance="?android:attr/textAppearanceSmall"/>
    </RelativeLayout>

android:layout_alignParentTop="true" - 这就是为什么。 - Alex Volovoy
2个回答

15

您只需在第一个示例中将ImageView上的android:gravity替换为android:layout_gravity即可。

就这么简单 :)


10

我会将其更改为只有三个视图的相对布局。您还可以使用 android:layout_centerHorizontalandroid:layout_centerVertical 来对齐内容。


谢谢。使用当前的LinearLayout有没有办法修复对齐方式? - hap497

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