我试图让文本视图占用最多 2 行(如果只有 1 个单词/没有空格,则只有 1 行),但要尽可能窄。
例如:
短
中
文字
再长一些
文字在此
一些很长的文字可能会变得很
宽,但永远不会超过 2 行
关于如何实现这一目标有什么想法吗?
目前,我发现的唯一方法是在字符串中硬编码换行符,这并不理想,并且会导致大量重复的字符串。
添加澄清: 包含文本视图的布局在 recylerView 中使用,所以我不能(也不想)限制宽度 - 文本视图应该增长到它需要的大小(因此扩展它的父级,其设置为wrap_content),但要超过 2 行而不是 1 行。
换句话说,一个固定高度和可变宽度的textView,来显示所有内容。
好吧,所以我认为我唯一的选择是创建一个自定义文本视图。我对此很陌生,所以这是我计划的方法:
这有道理吗?有更好的方法吗?
(注意,如果我使用固定宽度字体,我可以使用字符串长度/2,然后从该字符串的任一侧走出,直到遇到空格,然后用换行符替换它。)
将
android:maxLines="2"
添加到 TextView
我终于找到了一种在撰写中使用
来做到这一点的方法
modifier = Modifier.width(IntrinsicSize.Min)
与 lineLimit 结合,这要求视图绘制“尽可能窄”,这迫使文本使用 2 行