#Android笔记#解决textview使用SpannableString实现图文混排并设置了行高时,图片与文字显示混乱...

本文介绍了一种自定义MyImageSpan类的方法,该类继承自ImageSpan,用于在Android中自定义图片的绘制方式。文章详细展示了如何通过覆写draw方法来实现图片的精确位置调整,包括获取Drawable对象、计算图片的垂直居中位置以及使用Canvas进行绘制。

public class MyImageSpan extends ImageSpan {

public MyImageSpan(Context context, Bitmap b) {
super(context, b);
}

@Override
public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end,
float x, int top, int y, int bottom, @NonNull Paint paint) {
Drawable b = getDrawable();
Paint.FontMetricsInt fm = paint.getFontMetricsInt();
int transY = (y + fm.descent + y + fm.ascent) / 2
- b.getBounds().bottom / 2;

canvas.save();
canvas.translate(x, transY);
b.draw(canvas);
canvas.restore(http://www.my516.com);
}
}
---------------------

转载于:https://www.cnblogs.com/hyhy904/p/11291143.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值