您的位置:首页 > 其它

富文本使用,TextView末尾接一个图片

2017-12-25 19:26 429 查看
使用
final Drawable drawable = getResources().getDrawable(R.mipmap.qietu);

TextViewUtils.addDrawableInEnd(textview, mActivity, drawable, "XXXXXXXXXXXXXX路-XXXXXXXXXXX路方向");


public class TextViewUtils {
/**
* 富文本添加图片到末尾 并自动匹配高度
*
* @param textView
* @param context
* @param drawable
*/
public static void addDrawableInEnd(TextView textView, Activity context, Drawable drawable, String str) {

if (drawable == null) {
return;
}
TextPaint paint = textView.getPaint();// 获取文本控件字体样式
Paint.FontMetrics fm = paint.getFontMetrics();
int textFontHeight = (int) Math.ceil(fm.descent - fm.top) + 2;// 计算字体高度座位图片高度
int imageWidth = drawable.getIntrinsicWidth() * textFontHeight
/ drawable.getIntrinsicHeight();// 计算图片根据字体大小等比例缩放后的宽度
drawable.setBounds(0, AppTools.dip2px(context, 1), imageWidth,
textFontHeight);// 缩放图片  也可根据实际需求

ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BOTTOM); //   ImageSpan.ALIGN_BASELINE放置位置
String space = " ";
str = str + space;
int strLength = str.length();
SpannableString ss = new SpannableString(str);
ss.setSpan(span, strLength - 1, strLength, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(ss.subSequence(0, strLength));

}
}


public static int dip2px(Context context, float value) {

return (int) (context.getResources().getDisplayMetrics().density * value + 0.5f);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐