UI设计图中给出了字重为中粗(Medium),而android中的文字只有默认和加粗(bold)。
目前找到两种方式比较有效:
- 给TextView 的 TextPaint 设置 伪粗体 setFakeBoldText(true)
- 给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() 。
本文介绍了在Android开发中如何实现UI设计图中要求的中粗(Medium)字体效果,由于Android系统仅支持默认和加粗(bold)两种字重,文中提供了两种解决方案:使用伪粗体和设置文字边框宽度,附带了Kotlin和Java代码示例。
2318

被折叠的 条评论
为什么被折叠?



