前言
项目中处理交易号的时候末尾有复制按钮,交易号末尾可以点击图片复制,当时立马就想到了textview图文混排、包括通过TextView.setHtml 来实现都发现一个问题就是:他自己会未占满就换行了。类似这种
0xadd65c570fc6381b85479df607e1afad2f3c90dfjsad3464382
首先drawableRight这种肯不行的应为是多行,而使用ImageSpan会出现未占满就自己换行了。
解决方式
其实主要问题是:换行之后还是会留一段空白,并没有占满,发现是因为当字符串中包含空格的话就会在空格位置换行,所以我们只要计算textview宽度然后再算出每行可以容纳的字符数量最后加上空格就完美解决了,代码如下:
/**
* 设置图片末尾是文字的图文混排情况
*/
public static void setTextEnd(TextView pay_address, String testUrl, Context context) {
//先设置原始文本
pay_address.setText(testUrl);
//使用post方法,在TextView完成绘制流程后在消息队列中被调用
pay_address.post(new Runnable() {
@Override
public void run() {
StringBuilder stringBuilder =