RelativeLayout中心垂直

我想做一个列表行布局。 这个布局在左边最左边是一个imageview,右边是imageview旁边的一个textview,最右边是一个imageview。 我希望他们都是垂直的中心

<RelativeLayout android:layout_width="fill_parent" android:layout_height="100dp" android:gravity="center_vertical" > <ImageView android:id="@+id/icon" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center_vertical" /> <TextView android:id="@+id/func_text" android:layout_toRightOf="@id/icon" android:layout_width="wrap_content" android:layout_height="100dp" android:layout_gravity="center_vertical" /> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentRight="true" android:layout_gravity="center_vertical" android:src="@drawable/arrow" /> </RelativeLayout> 

我也尝试添加android:layout_centerVertical="true"到textview,但结果是textview与两个imageviewalignment底部。 我在android 4.2模拟器中试过。 有人可以帮助我呢?

7 Solutions collect form web for “RelativeLayout中心垂直”

我编辑了你的布局。 现在检查这个代码。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#33B5E5" android:padding="5dp" > <ImageView android:id="@+id/icon" android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:background="@android:drawable/ic_lock_lock" /> <TextView android:id="@+id/func_text" android:layout_width="wrap_content" android:layout_height="100dp" android:layout_gravity="center_vertical" android:layout_toRightOf="@+id/icon" android:gravity="center" android:padding="5dp" android:text="This is my test string............" android:textColor="#FFFFFF" /> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:layout_gravity="center_vertical" android:src="@android:drawable/ic_media_next" /> </RelativeLayout> 

使用

  android:layout_centerVertical="true" 

对我来说,我不得不删除

 <item name="android:gravity">center_vertical</item> 

RelativeLayout ,所以儿童的configuration将工作:

 <item name="android:layout_centerVertical">true</item> 

如果视图的高度/宽度= wrap_content – >使用:

 android:layout_centerHorizontal="true" android:layout_centerVertical="true" 

如果视图的高度/宽度= match_parent – >使用:

 android:gravity="center_vertical|center_horizontal" 

尝试将文本视图的顶部和底部alignment到其中一个图标,这将使文本视图与它们共享相同的高度,然后将gravity设置为center_vertical以使文本视图中的文本垂直居中。

 <TextView android:id="@+id/func_text" android:layout_toRightOf="@id/icon" android:layout_alignTop="@id/icon" android:layout_alignBottom="@id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" /> 

这是为我工作。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rell_main_bg" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#096d74" > <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:src="@drawable/img_logo_large" android:contentDescription="@null" /> </RelativeLayout> 

这可能是因为textview太高了。 将textview的android:layout_height更改为wrap_content或使用

 android:gravity="center_vertical" 
  • 计算两个地理位置之间的距离
  • 对于用肖像照相机app android拍摄的图像,EXIF方向标签值始终为0
  • 与“指标和网格”build议匹配的Android布局示例
  • keytool错误:java.io.IoException:不正确的AVA格式
  • 我如何制作启animation面?
  • 左边的drawable和EditText中的文本之间的缝隙
  • 广播接收者登记清单与活动
  • 如何在Android应用程序的TextView中大写文本的第一个字母
  • 片段内的碎片
  • 如何更改Android警报对话框的背景?
  • Android L波纹触摸对外形的影响?