Android TextView 多行

问题描述 投票:0回答:5

我想要一个应该分成 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
来实现这一点,那就太好了,但我需要一些指导。

提前致谢。

android android-layout textview
5个回答
23
投票

我认为它正在包装,因为“Vishal Vyas”超过了 70dp。相反,在宽度上执行

wrap_content
并使用换行符代替换行符(即“Vishal Vyas 第342章 声誉”)


14
投票

您应该能够插入换行符

\n
来控制分割的位置。完成此操作后,您可以将
TextView
扩展得更宽,以便它可以容纳更长的用户名,但仍然在正确的位置中断。


8
投票
android:lines="2"
android:minLines="2"
android:singleLine="false"

即使 Android Studio 警告

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


1
投票

我这样做了:

TextView的容器:

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

文本视图:

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

那么,

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


0
投票

我有不同的问题,但当我展示你的解决方案时,我的问题也解决了! 谢谢你的解决方案

© www.soinside.com 2019 - 2024. All rights reserved.