che*_*ica 6 android multiline textview
我有一个矩形瓷砖,我想在其中放入一个图像和一些文字.图像不得与文本重叠,图像和文本的大小可能不同.
该过程必须手工编码,因为我们必须根据客户的需求对其进行微调.
我尝试了首先使用getTextBounds()或测量渲染文本边界的方法measureText(),然后调整字体大小和图像大小,使它们不重叠.
如果文本只在一行上,这可以正常工作.
但是如果TextView将文本包装到多行,我无法预测文本边界,因为我不知道在哪里TextView插入自动换行符.
如何找出TextView插入自动换行符的文本中的位置?
示例:给出文本
Lorem ipsum dolor sit amet
将呈现为
| Lorem ipsum |
| dolor sit amet |
Run Code Online (Sandbox Code Playgroud)
我需要一个可以转换的函数
Lorem ipsum dolor sit amet
至
Lorem ipsum \ndolor sit amet
TextView(布局对象)具有一些有用的功能,可用于您要完成的任务:
http://developer.android.com/reference/android/text/Layout.html
看一眼:
getLineCount()
getLineEnd(int line)
您可以根据字符在每个lineEnd的位置获取TextView字符串的子字符串.
您需要getViewTreeObserver()等待,直到可以调用TextView,然后才能调用它们并从中获取有用的信息.
或者,您可以构建一个自定义TextView,它可以通过内置方法或通过向其添加侦听器来提供数据.修改文本大小的自定义TextView示例如下:
android ellipsize multiline textview
我已经使用过它并进行了类似的修改(就像你想要做的那样).
| 归档时间: |
|
| 查看次数: |
3207 次 |
| 最近记录: |