网上搜了一大圈,终于找到个能用的:
自己封了起来,很好用
/**
* @author huiych 根据drawable id 获取SpannableString
*
* @param id
* drawable id
* @return SpannableString
* */
private SpannableString getSpannableS(int id) {
final SpannableString ss = new SpannableString("easy");
// 得到drawable对象,即所要插入的图片
Drawable d = getResources().getDrawable(id);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
// 用这个drawable对象代替字符串easy
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
// 包括0但是不包括"easy".length()即:4。[0,4)。值得注意的是当我们复制这个图片的时候,实际是复制了"easy"这个字符串。
ss.setSpan(span, 0, "easy".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return ss;
}
使用的时候:
mTv.append(getSpannableS(R.drawable.bottom_bar_team));
就可以了