向EditText中添加图片

本文介绍如何在Android应用程序的EditText组件中插入和显示图片,详细阐述了实现这一功能的方法和步骤,帮助开发者提升用户体验。
摘要由CSDN通过智能技术生成
public class Tv2Activity extends Activity implements OnClickListener {
private EditText et;
private Button bt;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) this.findViewById(R.id.et);
bt = (Button) this.findViewById(R.id.bt);
bt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// 通过反射得到资源id;
Integer inte = new Random().nextInt(7) + 1;
try {
Field field = R.drawable.class.getDeclaredField("widget0" + inte);
int resourId = Integer.parseInt(field.get(null).toString());
// 得到图片资源
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resourId);
// 用图片去替换字就要用到ImageSpan
ImageSpan imageSpan = new ImageSpan(this, bitmap);
SpannableString ss = new SpannableString("tupian");
//这里的0-6就是tupian这个字符长度。用图片去替换这个字符。
ss.setSpan(imageSpan, 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
et.append(ss);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值