概述
TextView 部分字体椭圆背景
代码很容易看懂 废话不多说 直接上代码
public class RoundBackgroundColorSpan extends ReplacementSpan {
private int bgColor;
private int textColor;
private Context context;
public RoundBackgroundColorSpan(Context context ,int bgColor, int textColor) {
super();
this.context=context;
this.bgColor = bgColor;
this.textColor = textColor;
}
@Override
public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) {
return ((int)paint.measureText(text, start, end)+Util.px2dip(context,76));
}
@Override
public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, Paint paint) {
int color1 = paint.getColor();
//设置背景颜色
paint.setColor(this.bgColor);
canvas.drawRoundRect(new RectF(x, top+Util.px2dip(context,15), x + ((int) paint.measureText(text, start, end))+Util.px2dip(context,56), bottom-Util.px2dip(context,15)), 5, 5, paint);
//设置字体颜色
paint.setColor(this.textColor);
canvas.drawText(text, start, end, x+Util.px2dip(context,30), y-Util.px2dip(context,10), paint);
paint.setColor(color1);
}
}
引用:
Spannable wordtoSpan = new SpannableString(holder.tv_detail_name.getText().toString());
wordtoSpan.setSpan(new RoundBackgroundColorSpan(context, Color.parseColor("#00a2ff"), Color.parseColor("#FFFFFF")), 0, 设置椭圆字体长度, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.tv_detail_name.setText(wordtoSpan);
最后
以上就是优美酒窝为你收集整理的android TextView 部分字体椭圆背景TextView 部分字体椭圆背景的全部内容,希望文章能够帮你解决android TextView 部分字体椭圆背景TextView 部分字体椭圆背景所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复