TextView插入小图标
2017-03-09 本文已影响159人
eoeoops
插入小图标遇到一个问题,小图标没与文字基准线对齐。
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);
![](https://img.haomeiwen.com/i131465/13f221bc140835dd.png)
问题原来出在这里
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);
![](https://img.haomeiwen.com/i131465/9cdb0bb1b90858dd.png)