RelativeLayout centro vertical

Quiero hacer un diseño de fila de lista. Este diseño tiene una vista de imagen en la parte superior izquierda, una vista de texto junto a la vista de imagen y una vista de imagen en la parte superior derecha. Quiero que todos ellos sean centro vertical.

<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> 

También traté de añadir android:layout_centerVertical="true" a la vista de texto, pero el resultado es la alineación de la vista de texto con los dos imageview. He intentado esto en android 4.2 emulador. ¿Alguien podría ayudarme con esto?

He editado tu diseño. Compruebe este código ahora.

 <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> 

utilizar

  android:layout_centerVertical="true" 

Para mí, tuve que eliminar

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

Desde RelativeLayout , para que la configuración de los niños funcione:

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

Trate de alinear la parte superior e inferior de la vista de texto con uno de los iconos, esto hará que la vista de texto comparta la misma altura que ellos, y luego establezca la gravity en center_vertical para que el texto dentro del texto vea el centro verticalmente.

 <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" /> 

Si la altura de la vista / width = wrap_content -> use:

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

Si la altura de la vista / width = match_parent -> use:

 android:gravity="center_vertical|center_horizontal" 

Esto está funcionando para mí.

 <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> 

Esto quizás porque la vista de texto es demasiado alta. Cambiar android: layout_height de la textview a wrap_content o usar

 android:gravity="center_vertical" 
  • Disposición relativa de Android alignCenter desde otra vista
  • RelativeLayout con scrollview no desplazamiento
  • Android: layout_centerInParent no funciona
  • Superponer una capa Transparente de pantalla completa en Android 4.4 (KitKat)
  • RelativeLayout refresh after view.setVisibility (View.GONE) y view.setVisibility (View.VISIBLE)
  • RelativeLayout: alinear la vista con el hijo del grupo de vista de hermanos
  • Disposición relativa de Android align parent right
  • La regla relativa de RelativeLayout "RelativeLayout.LEFT_OF" no funciona
  • Cómo rotar un RelativeLayout por 180 grados?
  • Match_parent propiedad para los niños en un RelativeLayout
  • Alinee a la derecha de la pantalla con margen Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.