linearlayout align android center relativelayout

linearlayout - align button android



RelativeLayout center vertical (8)

Quiero hacer un diseño de fila de lista. Este diseño tiene una vista de imagen en la parte más a la izquierda, una vista de texto junto a la vista de imagen y una vista de imagen en la parte más a la derecha. Quiero que todos ellos sean centrales verticales.

<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 agregar android:layout_centerVertical="true" a la vista de texto, pero el resultado es que la vista de texto se alinea con las dos vistas de la imagen. Intenté esto en el emulador de Android 4.2. ¿Alguien podría ayudarme sobre esto?


Agregando tanto android:layout_centerInParent y android:layout_centerVertical trabajo para centrar ImageView tanto vertical como horizontal:

<ImageView .. android:layout_centerInParent="true" android:layout_centerVertical="true" />


Esto es trabajo 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 tal vez porque la vista de texto es demasiado alta. Cambiar android: layout_height de la vista de texto para envolver_contenido o usar

android:gravity="center_vertical"


He editado tu diseño. Verifique 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>


Intente alinear la parte superior e inferior de la vista de texto con uno de los iconos, esto hará que la vista de texto tenga la misma altura que ellos, luego configure la gravity en center_vertical para hacer que el texto que se encuentra dentro del centro de visualización de texto se encuentre 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" />


Para mí, tuve que eliminar

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

de RelativeLayout , entonces la configuración de los niños funcionaría:

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


Si el alto / ancho de View = wrap_content

utilizar:

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

Si el alto / ancho de View = match_parent

utilizar:

android:gravity="center_vertical|center_horizontal"


utilizar

android:layout_centerVertical="true"