Android 将文本垂直居中放置在listview行上

Android 将文本垂直居中放置在listview行上,android,listview,row,center,Android,Listview,Row,Center,我试图为每一行创建一个包含文本和图像的列表视图。 图像应位于右侧,文本应与行的其余部分对齐。文本应垂直居中。 我可以做所有这些,除了中间的部分。 这是我在多次尝试失败后得到的: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widget71" android:layout_width="fill_parent" android:layout_height="fill_par

我试图为每一行创建一个包含文本和图像的列表视图。 图像应位于右侧,文本应与行的其余部分对齐。文本应垂直居中。 我可以做所有这些,除了中间的部分。 这是我在多次尝试失败后得到的:

<?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的包装内容。

将此添加到TextView

android:gravity="center_vertical"


我使用一个包含
TextView
ImageView
RelativeLayout


对于这两者,我都使用了
android:layout\u centerVertical=“true”
属性。对我来说很好。

终于成功了!!你的回答是这样的。虽然我也使用了piotrpo的答案(是否可以同时接受这两种答案?)。
android:gravity="center"