Android 自定义View实现文字描边

Android中实现文字描边的方式有几种,大概有:

1、TextView叠加 这种方式灵活性较差
2、在TextView的onDraw之前绘制一次相同的文字
3、完全自定义,调用两次drawText

第二种和第三种方式本质是一样的,都是调用两次drawText方法。代码:

	if (mTextPaint == null) {
            mTextPaint = new TextPaint();
            mTextPaint.setTextSize(textSize);
            mTextPaint.setAntiAlias(true);
            mTextPaint.setColor(textColor);
            mTextPaint.setDither(true);
            mTextPaint.setTextAlign(Paint.Align.CENTER);

            mTextStrokePaint = new TextPaint();
            mTextStrokePaint.setTextSize(textSize);
            mTextStrokePaint.setAntiAlias(true);
            mTextStrokePaint.setColor(textStrokeColor);
            mTextStrokePaint.setStyle(Style.STROKE);
            mTextStrokePaint.setStrokeWidth(textStrokeWidth);
            mTextStrokePaint.setDither(true);
            mTextStrokePaint.setTextAlign(Paint.Align.CENTER);
        }
	canvas.drawText(text, 0, baseline, mStrokePaint);
	canvas.drawText(text, 0, baseline, mPaint);

其实就是底部绘制一个Stroke类型的文字,在上面绘制一个正常的文字,二者叠加就显示描边效果

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值