【问题标题】:Android TextView with multiple lines具有多行的Android TextView
【发布时间】:2012-10-02 08:57:32
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 只是好奇...在您的实际代码中,Vishal Vyas 之间确实有一个空格(第 1 点提到该空间未呈现,但我没有看到空格)?
  • @DavidDraughn 实际上我需要一个具有固定四行的文本视图,如果我在此语句中的 Vishal 和 Vyas 之间放置空格,例如 android:text="Vishal Vyas Having 342 Reputation",有时“声誉”一词不会显示,因为它移到第 5 行。
  • 我发现设置 wrap_content 时它不会转换为多行,但你需要 match_parent 或 maxWidth 和 wrap_content。

标签: android android-layout textview


【解决方案1】:

我认为它正在环绕,因为“Vishal Vyas”超过了 70dp。相反,在宽度上执行wrap_content 并使用换行符代替换行(即“Vishal Vyas\n342\nReputation”)

【讨论】:

  • 实际上我之前尝试过这个,但在 eclipse 中查看 Graphical Layout 模式时感到困惑。它像这样显示Vishal Vyas\nHaving\n342\nReputation。但是当我在实际设备和模拟器上运行应用程序时,它就像一个魅力。
  • 这真的很有趣。我从来没有像这样将文本硬编码到 TextView 中。它通常是一个字符串资源 ID。我想知道为什么它不能像那样破译换行符。
  • 是的,我尝试使用字符串资源 ID,这次 Graphical Layout 显示正确的输出。所以从现在开始,我永远不会使用硬编码文本。这是很好的学校时间课程。再次感谢 ;)
【解决方案2】:

您应该能够插入换行符\n 来控制拆分的位置。完成此操作后,您可以将 TextView 扩展得更宽,以便它可以容纳更长的用户名,但仍会在正确的位置中断。

【讨论】:

    【解决方案3】:
    android:lines="2"
    android:minLines="2"
    android:singleLine="false"
    

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

    【讨论】:

      【解决方案4】:

      我这样做了:

      TextView的容器:

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

      文本视图:

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

      那么,

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-04
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多