- 直接通过TextView的TextPaint设置描边,因为描边的颜色与文字颜色相同,所以描边看起来就是文字加粗了
private void setStrokeText() { tv_stroke.getPaint().setStyle(Style.FILL_AND_STROKE); tv_stroke.getPaint().setStrokeWidth(3); tv_stroke.setText("描边"); }
- 通过有描边的文本和没描边的文本重叠的形式,并且两个文本为不同颜色则可达到想要的描边效果
@Override public void onDraw(Canvas canvas) { // lazy load if (strokePaint == null) { strokePaint = new TextPaint(); } // 复制原来TextViewg画笔中的一些参数 TextPaint paint = getPaint(); strokePaint.setTextSize(paint.getTextSize()); strokePaint.setTypeface(paint.getTypeface()); strokePaint.setFlags(paint.getFlags()); strokePaint.setAlpha(paint.getAlpha()); // 自定义描边效果 strokePaint.setStyle(Paint.Style.STROKE); strokePaint.setColor(getStrokeColor()); strokePaint.setStrokeWidth(getStrokeWidth()); String text = getText().toString(); //在文本底层画出带描边的文本 canvas.drawText(text, (getWidth() - strokePaint.measureText(text)) / 2, getBaseline(), strokePaint); super.onDraw(canvas); }
- 效果对比图
Android字体描边
最新推荐文章于 2025-05-29 09:29:05 发布