android 图文一起 textview SpannableString和ImageSpan类的使用

本文介绍如何在Android中利用SpannableString和ImageSpan将图片插入到TextView中的文字,通过BitmapFactory获取Bitmap,创建ImageSpan对象,然后在SpannableString中设置Spannable替换特定文本,实现图文混排效果。

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

今天讲解一下SpannableString和ImageSpan类

Bitmap bitmap = null;
bitmap = BitmapFactory.decodeResource(getResources(), imageIds[arg2 % imageIds.length]);

//第一个参数包括整个图片资源,第二个指定id
ImageSpan imageSpan = new ImageSpan(NeighborCommunicationMessageActivity.this, bitmap);

//编辑框里面加图片用到的类,让图片代替指定的文字,比如呵呵其实就相当于可以互相取代的。在输入的时候就会让你选

String str = null;
if(arg2<10){
str = "f00"+arg2;
}else if(arg2<100){
str = "f0"+arg2;
}else{
str = "f"+arg2;
}

SpannableString spannableString = new SpannableString(str);
spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

//
content.append(spannableString);


TextView结合SpannableString使用大全里面有一个用ImageSpan替换文本

具体就是:
SpannableString ss = new SpannableString(“ccccccccccccc踩踩踩”);
 Drawable d = getResources().getDrawable(R.drawable.icon);  
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
        //创建ImageSpan
        ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
        //用ImageSpan替换文本
        ss.setSpan(span, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);  
        txtInfo.setText(ss);

这时候content.append(spannableString);其实就是把图片表情传进edittext里面了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值