Textview La gravedad no funciona correctamente en android

Lo que está mal con mi código, estoy tratando de mostrar mi TextView llamado "invalid" , en diferentes lugares (izquierda, derecha, centro), pero la gravedad (izquierda, derecha, centro) no funcionará! Introduzca aquí la descripción de la imagen

Mi text.xml es

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="20dp" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/etext" android:hint="@string/comment" android:inputType="textPassword"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="100"> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/button" android:layout_weight="25"/> <ToggleButton android:id="@+id/toggleButton1" android:layout_width="fill_parent" android:layout_height="40dp" android:text="ToggleButton" android:layout_weight="75" android:checked="true" android:paddingLeft="15dp"/> </LinearLayout> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/invalid" android:layout_gravity="center" android:gravity="center" /> </LinearLayout> 

Mi TextPlay.java es

 public class TextPlay extends Activity { Button button; ToggleButton tbutton; TextView tview; EditText et; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.text); button = (Button) findViewById(R.id.button1); tbutton = (ToggleButton) findViewById(R.id.toggleButton1); tview = (TextView) findViewById(R.id.textView1); et = (EditText) findViewById(R.id.etext); tbutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (tbutton.isChecked()) { et.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); } else { et.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); } } }); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String input = et.getText().toString(); System.out.println(input); if (input.contentEquals("left")) { tview.setGravity(Gravity.LEFT); } else if (input.contentEquals("right")) { System.out.println("inside right"); tview.setGravity(Gravity.RIGHT); } else if (input.contentEquals("right")) { tview.setGravity(Gravity.CENTER); } } }); } } 

Establecer esta vista de texto un ancho de " wrap_content " significa, lo que el texto es, la vista tomar el tamaño del texto.

Y en LinearLayout , la gravedad por defecto (utilizada aquí) es ' center '

Usted debe intentar esto:

 <TextView android:id="@+id/textView1" android:layout_width="match_parent" <= change this android:layout_height="wrap_content" android:text="@string/invalid" android:gravity="center" <= then this gravity will be taken into account /> 

99% del tiempo, not working properly == not used properly .

Usted está confundiendo gravity y gravity layout_gravity .

gravity es la forma en que el texto se alineará en el TextView . El TextView está en wrap_content esto no hace nada, como el TextView es exactamente el tamaño del texto.

layout_gravity es la forma en que el TextView se alineará en su matriz, en su caso en el LinearLayout vertical

Ha dado su Wrap_content de Widget de TextView, y ese es el problema, marque debajo del código y reemplácelo a su código.

 <TextView android:id="@+id/txtInvalid" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/invalid" android:gravity="center" /> 

Set android:layout_width="fill_parent" para textView1

Asegúrese de que no tiene algo así que se cuelgan alrededor

 app:layout_box="left|top" 
  • ¿Cómo puedo implementar la barra de acción personalizada con botones personalizados en Android?
  • Cambiar el ancho de AutoCompleteTextView en Android
  • Mejor enfoque con claras edittext
  • Cómo enviar json de android a php?
  • Varias etiquetas de raíz en Android Studio
  • Creación de aplicaciones de mapas de muestras monodroide
  • Transmisión de datos de un fragmento en una actividad de otra actividad
  • Cómo comparar el tiempo en java / android (dado entrada en cadenas)?
  • AsyncHttpClient no onSuccess o onFailure ejecutado
  • Cómo hacer http obtener solicitud en Android
  • Android Share Intent formato de archivo no compatible
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.