gpt4 book ai didi

android - 检测 Android 的 TextView 将在何处插入换行符

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:40:18 25 4
gpt4 key购买 nike

我有一个矩形图 block ,我想将图像和一些文本放入其中。图片不得与文字重叠,图片和文字的大小可以不同。

流程必须是手动编码的,因为我们必须根据客户的需求对其进行微调。

我尝试了首先使用 getTextBounds()measureText() 测量渲染文本边界的方法,然后调整字体大小和图像大小,这样它们就不会t 重叠。

如果文本只在一行上,这会很好地工作。

但是如果 TextView 将文本换行到多行,我无法预测文本边界,因为我不知道 TextView 会在哪里插入自动换行符。

如何找出文本中 TextView 插入自动换行符的位置?

示例:给定文本

Lorem ipsum dolor sit amet

这将呈现为

| Lorem ipsum    |
| dolor sit amet |

我需要一个转换函数

Lorem ipsum dolor sit amet

Lorem ipsum\ndolor sit amet

最佳答案

TextView(Layout 对象)有一些有用的功能可以满足您的需求:

http://developer.android.com/reference/android/text/Layout.html

看看:

getLineCount()

getLineEnd(int line)

您可以根据每个行尾字符所在的位置获取TextView字符串的子字符串。

您需要使用 getViewTreeObserver() 等待 TextView 绘制完成,然后才能调用它们并从中获取有用信息。

或者,您可以构建自定义 TextView,它可以通过内置方法或向其添加监听器来提供数据。修改文本大小的自定义 TextView 示例如下:

android ellipsize multiline textview

我已经使用它并做了类似的修改(就像你正在尝试做的那样)。

关于android - 检测 Android 的 TextView 将在何处插入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com