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á!
Mi text.xml es
- Android dispositivo virtual super lenta - pc demasiado lento?
- Osmdroid Bonuspack - MyLocationNewOverlay
- Android: sustituye el método desde una versión API superior y admite una versión API inferior.
- Cómo obtener los archivos de la ruta correcta en android
- Recuperación de la información del dispositivo en Android
<?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); } } }); } }
- Mensajería Firebase - "demasiadas alarmas" en los dispositivos Android de Samsung
- Android cómo leer varias características BLE con un PriorityQueue
- ¿Qué técnica de almacenamiento de datos Android utilizar?
- Importación de varios proyectos en eclipse
- Reconocimiento de voz en Android
- Analizando HTML con Jsoup y eliminando spans con cierto estilo
- ¿Cómo puedo añadir "Android Project" al menú Archivo> Nuevo> _____ en Eclipse?
- GCM: Cómo enviar latido al servidor GCM
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 se puede utilizar un marcador de posición de carga que es un spinner animado con cargadores de imágenes como Glide, Picasso etc?
- Cómo recuperar array de objetos como resultado del servicio web KSOAP en Android?