Tengo una actividad con dos botones y una vista de texto en LinearLayout. Mi TextView está desplazado hacia abajo y el texto no cabe dentro de la caja. ¿Puedes explicar lo que está sucediendo? Creo que está relacionado con el relleno, y he leído varias discusiones sobre los peligros del relleno de TextView, pero eso no explica por qué el texto está cortado en la parte inferior.Android TextView desplazado hacia abajo
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#800080">
<Button
android:text="This"
android:background="@drawable/button_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:text="That"
android:background="@drawable/button_green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="Copious amounts of text that overflows onto several lines on a small screen, causing the TextView to dangle below the buttons. Why it does this I can't imagine. I only hope someone can help me with this."
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#533f93"
/>
</LinearLayout>
Este código produce esta pantalla:
El púrpura es el LinearLayout, el azul es el TextView. Como puede ver, la parte superior de TextView está debajo de los botones y su parte inferior está debajo de LinearLayout. A medida que agrego texto a TextView, LinearLayout aumenta su altura de manera apropiada, pero como TextView está desplazado, siempre pierdo la parte inferior de la última línea.
me corrieron Jerarquía Visor y me dio esta estructura metálica:
que muestra la distancia al eje vertical en la parte superior, pero no alcanza la parte inferior de la Vista de Texto. La misma estructura metálica con las miradas LinearLayout seleccionados como este:
Según Jerarquía Visor, la parte superior de los botones está en 0, pero la parte superior de la Vista de Texto es a las 7. He intentado varios arreglos , en su mayoría seleccionados de este sitio:
android:paddingTop="0dp"
android:background="@null"
android:includeFontPadding="false"
Ninguno de estos ha solucionado el problema.
Sí, eso funciona! No entiendo por qué el valor predeterminado es que LinearLayout empuje el texto más allá de sus bordes. – TomDestry
Puede leer, por ejemplo, esta publicación para comprender qué significa [referencia básica] (https://groups.google.com/d/topic/android-developers/1gPy9zo28ak/discussion). Por lo tanto, de forma predeterminada, cada widget siguiente en 'LinearLayout' está alineado con la línea base de su widget anterior. En nuestro caso ** la primera ** línea de 'TextView' está alineada con la línea base del texto del' Botón'.Estoy de acuerdo, no es un comportamiento intuitivo, pero lo es. – StenaviN