TextView插入小图标

插入小图标遇到一个问题,小图标没与文字基准线对齐。

String str = "邀新團" + item.getPTitle();
Drawable d = context.getResources().getDrawable(R.mipmap.tag_new_group);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan img = new ImageSpan(d);     // 注意这行
SpannableStringBuilder style = new SpannableStringBuilder(str);
style.setSpan(img, 0, "邀新團".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
tuanItemTitle.setText(style);
TextView插入小图标_第1张图片
小图标没与文字基准线对齐

问题原来出在这里

ImageSpan img = new ImageSpan(d);

他默认的对齐方式是这个

public ImageSpan(Drawable d) {
     this(d, ALIGN_BOTTOM);
}

修改后的

String str = "邀新團" + item.getPTitle();
Drawable d = context.getResources().getDrawable(R.mipmap.tag_new_group);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan img = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);    // 注意这行
SpannableStringBuilder style = new SpannableStringBuilder(str);
style.setSpan(img, 0, "邀新團".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
tuanItemTitle.setText(style);
TextView插入小图标_第2张图片
小图标与文字基准线对齐了

你可能感兴趣的:(TextView插入小图标)