TextView添加富文本图片的操作SpannableString的简单使用

本文介绍了在Android中如何使用SpannableString在TextView中添加富文本图片,包括处理图标大小和居中问题。通过设置ImageSpan,并在遇到无法居中的图片时,自定义VerticalImageSpanUtils来解决对齐问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接看代码就ok

SpannableString spannableString = new SpannableString("图"+"青青子衿、悠悠我心");
ImageSpan imageSpan = new ImageSpan(this, R.drawable.ic_lanuch);
spannableString.setSpan(imageSpan, 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
mTextView.setText(spannableString);

但是有一个问题,这样不能保证占位图的大小和居中状态,所以需要对图标进行一个处理。

Drawable drawable = getResources().getDrawable(R.drawable.ic_lanuch);
drawable.setBounds(0,0,20,20);

其中 20 20 是图标的大小。

然后正确的写法是

SpannableString spannableString = new SpannableString("图"+"青青子衿、悠悠我心");
Drawable drawable = getResources().getDrawable(R.drawable.ic_lanuch);
drawable.setBounds(0,0,20,20);
spannableString.setSpan(new ImageSpan(drawable), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
mTextView.setText(spannableString);

其中 0 1 是图标想要放在的String字符串的索引位置。我这里是放在开头显示图标。

但是&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值