Android设置文字中粗

UI设计图中给出了字重为中粗(Medium),而android中的文字只有默认和加粗(bold)。

目前找到两种方式比较有效:

  1. 给TextView 的 TextPaint 设置 伪粗体 setFakeBoldText(true)
  2. 给TextView 的 TextPaint 设置文字边框宽度 setStrokeWidth(1.2f)

kotlin代码如下:

textView.paint.isFakeBoldText = true
textView.postInvalidate() // 或者 textView.invalidate()

或者:

val paint = textView.paint
paint.style = Paint.Style.FILL_AND_STROKE
paint.strokeWidth = 1.2f
textView.invalidate()

java代码:

textView.getPaint().setFakeBoldText(true);
textView.postInvalidate(); // 或者 textView.invalidate()

或者:

TextPaint paint = textView.getPaint();
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setStrokeWidth(1.2f);
textView.invalidate();

注意:设置好加粗后,如果想要动态显示,需要调用 invalidate() 或者 postInvalidate()

猜你喜欢

转载自blog.csdn.net/wangxiaocheng16/article/details/107689969