Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo alinear el texto verticalmente en el centro de android

Tengo texto árabe, por lo tanto, pongo la gravedad a la derecha para iniciar el texto desde el lado derecho. El texto comienza desde ahora mismo. Pero otro problema es que el texto comienza a renderizarse desde la parte superior de la página. Pero necesito centrar verticalmente el texto. Aunque he intentado varias variaciones no podría hacerlo verticalmente centro.

Aquí está la muestra de mi archivo xml.

<LinearLayout android:id="@+id/linearLayout5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:orientation="vertical" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="23dp" android:gravity="right" android:padding="@dimen/padding_maintextview" android:text="@string/text" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> </LinearLayout> 

El problema es con above textview.

Aquí he puesto todo el archivo xml.

 <?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:background="@drawable/page1background" android:paddingRight="@dimen/padding_large" > <TextView android:id="@+id/textView1" android:layout_width="196dp" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:gravity="center_horizontal" android:paddingTop="@dimen/padding_Title_Top" android:text="@string/text" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textView1" android:gravity="center_horizontal" android:orientation="vertical" > <View android:id="@+id/view1" android:layout_width="fill_parent" android:layout_height="5dp" /> </LinearLayout> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/linearLayout2" android:layout_below="@id/linearLayout1" android:layout_gravity="center" android:padding="@dimen/padding_maintextview" > <LinearLayout android:id="@+id/linearLayout5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:orientation="vertical" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="23dp" android:gravity="right" android:padding="@dimen/padding_maintextview" android:text="@string/text" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> </LinearLayout> </ScrollView> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" > <View android:id="@+id/view2" android:layout_width="fill_parent" android:layout_height="100dp" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" > <ImageButton android:id="@+id/back_arrow" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_marginBottom="30dp" android:layout_marginRight="45dp" android:layout_weight=".5" android:background="@drawable/backbut" android:contentDescription="@string/Description" android:onClick="onClickBtn" android:src="@drawable/backarrowpress" /> <ImageButton android:id="@+id/copyButton" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_marginLeft="45dp" android:layout_weight=".5" android:background="@drawable/copy" android:contentDescription="@string/Description" android:onClick="onClickBtn" /> </LinearLayout> </RelativeLayout> 

¿Puede alguien mostrarme dónde he cometido el error? Creo que el problema es claro. Si no me dicen en los comentarios.

A continuación he añadido código actualizado después de revisar sus respuestas.

 <?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:background="@drawable/page1background" android:paddingRight="@dimen/padding_large" > <TextView android:id="@+id/textView1" android:layout_width="196dp" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:gravity="center_horizontal" android:paddingTop="@dimen/padding_Title_Top" android:text="@string/text" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textView1" android:gravity="center_horizontal" android:orientation="vertical" > <View android:id="@+id/view1" android:layout_width="fill_parent" android:layout_height="5dp" /> </LinearLayout> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@id/linearLayout2" android:layout_below="@id/linearLayout1" android:layout_gravity="center" android:layout_centerInParent="true" android:padding="@dimen/padding_maintextview" > <LinearLayout android:id="@+id/linearLayout5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:orientation="vertical" > <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_vertical" android:layout_marginBottom="23dp" android:gravity="center_vertical|right" android:padding="@dimen/padding_maintextview" android:text="@string/text" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> </LinearLayout> </ScrollView> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" > <View android:id="@+id/view2" android:layout_width="fill_parent" android:layout_height="100dp" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" > <ImageButton android:id="@+id/back_arrow" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_marginBottom="30dp" android:layout_marginRight="45dp" android:layout_weight=".5" android:background="@drawable/backbut" android:contentDescription="@string/Description" android:onClick="onClickBtn" android:src="@drawable/backarrowpress" /> <ImageButton android:id="@+id/copyButton" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_marginLeft="45dp" android:layout_weight=".5" android:background="@drawable/copy" android:contentDescription="@string/Description" android:onClick="onClickBtn" /> </LinearLayout> </RelativeLayout> 

Pero estoy en la misma situación. No hay texto centrado verticalmente

  • Cómo cambiar el color de texto de un elemento ListView?
  • Carácter de unicode de entrada de shell de adb
  • Android Justify spanable Visualización de texto compatible con RTL Languages
  • Cómo añadir texto a ImageView en Android
  • Android Añadir imagen al texto (en la vista de texto)?
  • 5 Solutions collect form web for “Cómo alinear el texto verticalmente en el centro de android”

    Sus atributos de TextView deben ser algo así como,

     <TextView ... android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical|right" ../> 

    Ahora, la descripción por qué estos necesitan ser hechos,

      android:layout_width="match_parent" android:layout_height="match_parent" 

    Hace su TextView a match_parent o fill_parent si no desea ser como, match_parent tiene que dar algunos valores especificados a layout_height por lo que obtener espacio para la gravedad vertical del centro. android:layout_width="match_parent" necesario porque alinea su TextView en el lado derecho para que pueda reconocer el respeto a la disposición de los padres de TextView.

    Ahora, es sobre android:gravity que hace que el contenido de su alineación TextView. android:layout_gravity hace que la alineación de TextView sea respetada con su Layout de los padres.

    Actualizar:

    Como se indica en el comentario anterior, utilice fill_parent lugar de match_parent . (Problema en algún dispositivo.)

    Solo usa esto para hacer algo para centrarse

      android:layout_gravity="center" android:gravity="center" 

    actualizado :

     android:layout_gravity="center|right" android:gravity="center|right" 

    Actualizado: Basta con eliminar MarginBottom de su texto .. Haga esto .. para su textView

     <LinearLayout android:id="@+id/linearLayout5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" > <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center|right" android:text="hello" android:textSize="20dp" /> </LinearLayout> 

    Trate de poner android:gravity="center_vertical|right" dentro del padre LinearLayout más como usted está dentro de RelativeLayout puede poner android:layout_centerInParent="true" dentro de su scrollView .

    El problema es el relleno de la fuente en la vista de texto. Sólo tiene que añadir a su texto:

     android:includeFontPadding="false" 

    En el diseño relativo, debe especificar la altura de texto:

     android:layout_height="100dp" 

    O especifique el atributo lines:

     android:lines="3" 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.