19

我想要一个应该分成 4 行的 TextView。例如

Vishal Vyas
  Having
   342
Reputation

注意,重力应该是center_horizontal

我试过以下:

<TextView
    android:gravity="center_horizontal"
    android:id="@+id/lblUserRep"
    android:layout_width="70dp"
    android:layout_height="wrap_content"
    android:lines="4"
    android:maxLines="4"
    android:text="VishalVyas Having 342 Reputation" >
</TextView>

这行得通!但产生以下输出:

VishalVyas
  Having
   342
Reputation

问题:

  1. 它不适用于单词 Vishal 和 Vyas 之间的空格。
  2. android:layout_width="70dp"是硬编码的,可以有任何包含 n 个字符的名称,而不是VishalVyas.

请指教。

补充: 如果我需要编写一个自定义TextView来实现这一点,那很好,但我需要一些指导。

提前致谢。

4

4 回答 4

21

我认为它正在包装,因为“Vishal Vyas”超过了 70dp。相反,wrap_content在宽度上使用换行符而不是换行(即“Vishal Vyas\n342\nReputation”)

于 2012-10-11T16:09:12.473 回答
13

您应该能够插入换行符\n来控制拆分的位置。一旦你这样做了,你可以扩大你的TextView范围,以便它可以容纳更长的用户名,但仍然会在正确的位置中断。

于 2012-10-11T16:09:08.590 回答
7
android:lines="2"
android:minLines="2"
android:singleLine="false"

即使 Android Studio 警告android:singleLine=false已弃用,请保留它,并且可以根据文本的长度为文本框设置所需的行数

于 2017-03-20T23:41:17.740 回答
1

我这样做了:

TextView 的容器:

    android:layout_width="match_parent"
    android:layout_height="match_parent"

文本视图:

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

然后,

TextView 的文本以两行或更多行显示...

于 2017-11-17T23:42:35.607 回答