Ich habe eine Aktivität mit zwei Buttons und einem TextView in einem LinearLayout. Mein TextView ist nach unten versetzt und der Text passt nicht in die Box. Kannst du erklären, was passiert? Ich denke, dass es mit dem Auffüllen zusammenhängt, und ich habe mehrere Diskussionen über die Gefahren des TextView-Auffüllens gelesen, aber das erklärt nicht, warum der Text an der Unterseite abgeschnitten wird.Android TextView Offset nach unten
<?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>
Dieser Code erzeugt diese Anzeige:
Die lila das Linearlayout ist, das blaue die Textview ist. Wie Sie sehen können, liegt der obere Teil des TextView unterhalb der Schaltflächen und der untere unterhalb des unteren Randes von LinearLayout. Wenn ich dem TextView Text hinzufüge, erhöht das LinearLayout seine Höhe entsprechend, aber weil das TextView versetzt ist, verliere ich immer das untere Ende der letzten Zeile.
lief ich Hierarchy-Viewer und es gab mir dieses Drahtmodell:
die die vertikalen nach oben versetzt zeigt, aber den Boden des Textview vermisst. Das gleiche Drahtmodell mit den Linearlayout ausgewählt sieht wie folgt aus:
Nach Hierarchie Viewer die Oberseite der Tasten ist bei 0, aber die Spitze des Textview ist auf 7 ich verschiedene Korrekturen versucht haben , meist aus dieser Site:
android:paddingTop="0dp"
android:background="@null"
android:includeFontPadding="false"
Keine dieser behoben mein Problem.
Ja, das funktioniert! Ich verstehe nicht, warum der LinearLayout standardmäßig den Text über seine Grenzen hinaus schieben soll. – TomDestry
Sie können diesen Beitrag beispielsweise lesen, um zu verstehen, was [Baseline-Mittelwert] (https://groups.google.com/d/topic/android-developers/1gPy9zo28ak/discussion) bedeutet. Standardmäßig wird also jedes nachfolgende Widget in LinearLayout auf das vorherige Widget ausgerichtet. In unserem Fall ist die erste ** Zeile von 'TextView' auf den Text des 'Buttons' ausgerichtet.Ich stimme zu, es ist kein intuitives Verhalten, aber es ist. – StenaviN