vertical texto studio middle justificar edittext centrar alinear android xml textview gravity

texto - Android-Center Textview en LinearLayout



centrar textview android studio (3)

Estoy tratando de centrar un TextView en un LinearLayout y está centrado horizontalmente pero no verticalmente.

debajo está mi código

<LinearLayout android:orientation="vertical" android:layout_width="320dp" android:layout_height="50dp" android:background="@drawable/rectblack" android:layout_marginTop="10dp" android:layout_gravity="center" android:minWidth="25px" android:minHeight="25px"> <TextView android:text="Explode a Vin" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/tvExVin" /> </LinearLayout>

Al final, me gustaría que estuviera centrado verticalmente a la izquierda de Linearlayout , si alguien pudiera averiguar cómo hacerlo, sería genial.

¡Gracias!


Intenta cambiar tu gravity a

android:layout_gravity="center_vertical"

gravity se utiliza para colocar el contenido dentro de su View y layout_gravity se utiliza para colocar la View dentro de su elemento primario.

Pero estoy confundido por "Al final me gustaría que estuviera centrado verticalmente a la izquierda de Linearlayout". Pero por la forma en que suena, mi respuesta debería darte lo que quieres.

Además, a menos que haya una buena razón, no debe usar un LinearLayout , o cualquier padre, para un solo hijo. Si puede dar una mejor explicación de lo que quiere o incluso una captura de pantalla, entonces podremos ayudarlo con una mejor solución.

Esto te dará el efecto deseado.

<LinearLayout android:layout_width="320dp" <!-- removed orientation (horizontal by default) --> android:layout_height="50dp" android:background="@drawable/rectblack" android:layout_marginTop="10dp" android:layout_gravity="center" android:minWidth="25px" android:minHeight="25px"> <TextView android:text="Explode a Vin" android:layout_gravity="center_vertical" <!-- changed gravity here --> android:layout_width="fill_parent" android:layout_height="wrap_content" <!-- change to wrap_content --> android:id="@+id/tvExVin" /> </LinearLayout>


Tienes la gravedad y layout_gravity invertido. Puede tener varios valores en el atributo de gravedad separados por "|". Prueba esto:

<LinearLayout android:orientation="vertical" android:layout_width="320dp" android:layout_height="50dp" android:background="@drawable/rectblack" android:layout_marginTop="10dp" android:layout_gravity="center_horizontal" android:gravity="center_vertical|left" android:minWidth="25px" android:minHeight="25px"> <TextView android:text="Explode a Vin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tvExVin" /> </LinearLayout>

Para aclarar:

android:layout_gravity="center_horizontal" centrará LinearLayout horizontalmente en su padre.

android:gravity="center_vertical|left" centrará el TextView (y cualquier otro niño) verticalmente dentro del LinearLayout y lo alineará hacia la izquierda.


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal|center_vertical" android:gravity="center_vertical|center_horizontal" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="AppLock Demo" android:textSize="30dp" /> </LinearLayout>