我正在尝试为每一行创建一个包含文本和图像的 ListView 。 图像应位于右侧,文本应占据该行的其余部分。文本应垂直居中。 除了中心部分,我可以做所有这些。 这是我在多次尝试失败后的结果:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget71"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical">
<TextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginTop="6px"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@+id/text1"
android:layout_weight="01"
android:layout_gravity="center_vertical|fill_vertical|center_horizontal|center|clip_vertical"/>
<ImageView
android:id="@android:id/icon"
android:layout_width="30px"
android:layout_height="40px"
android:layout_marginTop="8px"
android:layout_marginLeft="4px"
android:layout_marginRight="8px"
android:src="@drawable/delete"
android:layout_gravity="right" />
</LinearLayout>
无论文本是什么,总是显示在行的顶部。 我已经看到一些报告称,这可能是由于手动完成时 xml 的膨胀方式所致。但我不那样做。我把它留给框架。
最佳答案
我使用包含 TextView
和 ImageView
的 RelativeLayout
。
对于两者,我都使用了 android:layout_centerVertical="true"
属性。对我来说很好。
关于android - 在 ListView 行上垂直居中文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9383246/