我在 LinearLayout 中有一个带有两个按钮和一个 TextView 的活动。我的 TextView 向下偏移,文本不适合框内。你能解释发生了什么吗?我认为它与填充有关,并且我已经阅读了一些关于 TextView 填充的危险的讨论,但这并不能解释为什么文本在底部被截断。
<?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>
此代码产生此显示:
紫色是LinearLayout,蓝色是TextView。如您所见,TextView 的顶部低于按钮的顶部,底部低于 LinearLayout 的底部。当我将文本添加到 TextView 时,LinearLayout 会适当增加它的高度,但是由于 TextView 是偏移的,所以我总是会丢失最后一行的底部。
我运行了 Hierarchy Viewer,它给了我这个线框:
它显示了顶部的垂直偏移,但错过了 TextView 的底部。选择了 LinearLayout 的相同线框如下所示:
根据 Hierarchy Viewer 的说法,按钮的顶部是 0,但 TextView 的顶部是 7。我尝试了各种修复,主要来自这个站点:
android:paddingTop="0dp"
android:background="@null"
android:includeFontPadding="false"
这些都没有解决我的问题。