如何改变文本/字体设置在一个Android TextView?
例如,如何使文本加粗?
如何改变文本/字体设置在一个Android TextView?
例如,如何使文本加粗?
当前回答
通过XML:
android:textStyle="bold"
通过Java:
//Let's say you have a textview
textview.setTypeface(null, Typeface.BOLD);
其他回答
在Kotlin中,我们可以在一行中完成
TEXT_VIEW_ID.typeface = Typeface.defaultFromStyle(Typeface.BOLD)
最好的方法是:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
textView.setPaintFlags(textView.getPaintFlags() | Paint.FAKE_BOLD_TEXT_FLAG)
要移除,请使用
textView.setPaintFlags(textView.getPaintFlags() & ~Paint.FAKE_BOLD_TEXT_FLAG)
或者用Kotlin:
fun TextView.makeBold() {
this.paintFlags = this.paintFlags or Paint.FAKE_BOLD_TEXT_FLAG
}
fun TextView.removeBold() {
this.paintFlags = this.paintFlags and (Paint.FAKE_BOLD_TEXT_FLAG.inv())
}
如果你在画它,那么这个就可以做到:
TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
在values文件夹中的style.xml文件中定义一个新的样式,使用您想要的格式
<style name="TextViewStyle" parent="AppBaseTheme">
<item name="android:textStyle">bold</item>
<item name="android:typeface">monospace</item>
<item name="android:textSize">16sp</item>
<item name="android:textColor">#5EADED</item>
</style>
然后通过编写以下带有TextView属性的代码将此样式应用到TextView
style="@style/TextViewStyle"