【问题标题】:Add text to the beginning of a new line, if the text is automatically wrap如果文本自动换行,则将文本添加到新行的开头
【发布时间】:2014-08-30 21:38:50
【问题描述】:

首先,我想为我的英语道歉:)。

我有一个长文本字符串。我在 TextView 中显示它。如果文本自动换行,我想在新行的开头添加“\t”。我不知道怎么做。有什么想法吗?

例如

String text = "1. abcdefghij\n\tklmnopqrstuvwxyz";

Display:
1. abcdefghij
   klmnopqrstuvwxyz

但是如果:

String text = "1. abcdefghij\n\tklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

Display:
1. abcdefghij
   klmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ

我想要:

1. abcdefghij
   klmnopqrstuvwxyzABCDEF
   GHIJKLMNOPQRSTUVWXYZ

【问题讨论】:

  • 如果你只需要它来向前移动文本,为什么不在textview上使用paddingLeft?
  • 只有在文本自动换行时才需要移动文本。
  • 所以第一行没有缩进,只在第二行和任何连续的行上缩进?
  • 缩进是随机的,取决于行的长度。

标签: android textview word-wrap


【解决方案1】:

您可以计算 TextView 的行数,如果超过 1 行,则插入“\t”。

在这个post 中,它展示了如何计算行数,虽然这不是一个明显的问题。

你还需要考虑tab是否已经插入,因为可以插入多个\b。

【讨论】:

  • 这是我的代码:pastebin.com/Dg5apb4F 在数组“test”中是文本行。 Run() 应该写出“Get Count”。在每个“行数:...”之后,但 Run() 毕竟只能工作,就像在链接中一样。 xxxx 是我的文字行,印刷很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 1970-01-01
相关资源
最近更新 更多