TextView在包装容器中有多行文字 - 错误的高度?

时间:2015-12-17 03:28:30

标签: android

我发现了以下问题。像这样简单的东西有效:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="long text taking multiple lines ..."/>

</LinearLayout>

但是如果布局中有另一个组件,TextView开始表现得很奇怪。似乎是一行短文,文本用完了容器的框架:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="18sp"
    android:text="long text over multiple lines ..."/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Bla"/>

</LinearLayout>

为什么会这样?

2 个答案:

答案 0 :(得分:0)

我正在检查来自PADDING或来自MARGIN本身的某种LINEAR LAYOUTTEXTVIEW,看起来并非如此。< / p>

但我可以通过在android:layout_gravity="center"上添加TEXTVIEW来正确对齐。

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="18sp"
    android:layout_gravity="center"
    android:text="long text over multiple lines ..."/>

center以外的某些值也适用。

答案 1 :(得分:0)

您可以使用

android:singleLine="false"

如果字符串结束

,则要求textview包装