我是靠谱客的博主 优美酒窝,最近开发中收集的这篇文章主要介绍android TextView 部分字体椭圆背景TextView 部分字体椭圆背景,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 部分字体椭圆背景所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部