3

我在 Android 上布局文本时遇到以下问题。我基本上是在尝试以最小间距设置两行文本,并且每行的样式都应该不同。我已经有了很好的工作解决方案,两个单行 TextView 一个放在另一个下方,但是在某些设备上我仍然收到一些裁剪的文本..

所以我决定只使用一个 TextView 来代替使用 Spannables,这通常在所有情况下都是一个更好的解决方案。

这意味着我需要从 TextView -> 中删除单行属性,以便能够在开始第二个 Spannable 之前换行。但是当第一行显示的文本实际上比它长时存在问题。 .TextView 自动包装,这是一种不受欢迎的行为。您可以在下面看到几个屏幕截图,您应该更好地说明我正在努力实现的目标以及我现在的位置。

第一张图片显示了带有 spannables 的新布局,您也可以在那里看到包裹线。第二个图像是布局的初始版本,两个文本视图在线性布局中垂直布局。

还有一个问题,它实际上是一个 appwidget,这意味着我无法直接访问该 textview 实例。我一直在考虑完全放弃文本视图,而是只使用 ImageView 并在画布上手动渲染所有内容。这对我来说似乎有点矫枉过正,所以我正在寻找更好的解决方案。不幸的是,我有点缺乏想法和知识:)

谢谢

这是带有 spannables 的新布局,但是有不需要的裁剪 这是旧布局,​​您可以看到彼此下方有两个文本视图

4

1 回答 1

0

如果要防止多字字符串换行,可以将空格替换为不间断空格('\u00A0')。TextView 将这些视为单词字符,但将它们呈现为空格。

于 2020-03-08T18:45:57.570 回答