Android相对布局alignment中心

我正在尝试创build一个列表活动项目布局如下

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:contentDescription="ss" android:id="@+id/place_category_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="15dp" android:paddingTop="10dp" android:src="@drawable/marker"/> <TextView android:id="@+id/place_distance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="320" /> <TextView android:id="@+id/place_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/place_category_icon" android:text="Place Name" android:textColor="#FFFF00" android:textSize="14sp" android:textStyle="bold" /> </RelativeLayout> 

我希望布局显示如下。

在这里输入图像说明

我想alignment它居中水平

在这里输入图像说明

我希望这会起作用

EDITED

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingRight="15dp" > <ImageView android:id="@+id/place_category_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:contentDescription="ss" android:paddingTop="10dp" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/place_distance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text="320" /> <TextView android:id="@+id/place_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:layout_toRightOf="@+id/place_category_icon" android:text="Place Name" android:textColor="#FFFF00" android:textSize="14sp" android:textStyle="bold" /> </RelativeLayout> 

如果你想让它居中,那么在TextView中使用android:layout_centerVertical="true"

这一定会为你工作。

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/top_bg" > <Button android:id="@+id/btn_report_lbAlert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="@dimen/btn_back_margin_left" android:background="@drawable/btn_edit" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_centerVertical="true" android:text="FlitsLimburg" android:textColor="@color/white" android:textSize="@dimen/tv_header_text" android:textStyle="bold" /> <Button android:id="@+id/btn_refresh_lbAlert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="@dimen/btn_back_margin_right" android:background="@drawable/btn_refresh" /> </RelativeLayout> 

在你的RelativeLayout中使用这个

android:gravity="center_vertical"

这是你需要的吗?

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" > <ImageView android:id="@+id/place_category_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:contentDescription="ss" android:paddingRight="15dp" android:paddingTop="10dp" android:src="@drawable/marker" /> <TextView android:id="@+id/place_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Place Name" android:textColor="#F00F00" android:layout_gravity="center_vertical" android:textSize="14sp" android:textStyle="bold" /> <TextView android:id="@+id/place_distance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:layout_gravity="center_vertical" android:text="320" /> </TableRow> </RelativeLayout> 

您可以使用重力来alignment顶部和底部。

  android:gravity="center_vertical" android:layout_alignTop="@id/place_category_icon" android:layout_alignBottom="@id/place_category_icon"