我想在我的应用程序中指定我自己的文本大小,但我这样做有一个问题。
当我在设备设置中改变字体大小时,我的应用程序TextView的字体大小也会改变。
我想在我的应用程序中指定我自己的文本大小,但我这样做有一个问题。
当我在设备设置中改变字体大小时,我的应用程序TextView的字体大小也会改变。
当前回答
对于kotlin,这对我来说是有效的
priceTextView.textSize = 12f
其他回答
在Activity中重写getResources()。
设置TextView的大小在sp通常像android:textSize="32sp"
override fun getResources(): Resources {
return super.getResources().apply {
configuration.fontScale = 1F
updateConfiguration(configuration, displayMetrics)
}
}
如果使用的单位是SP,而不是DP,并且你想覆盖系统字体缩放,你所要做的就是覆盖activity中的一个方法——请看这篇文章。
资源。updateConfiguration已弃用且有bug(在Oreo上,我有格式化文本的问题)。
对于kotlin,这对我来说是有效的
priceTextView.textSize = 12f
将DP更改为sp,这是android的良好实践 android: textSize = " 18 sp "
你可以使用下面的代码:
android:textSize="32dp"
它解决了你的问题,但你必须知道你应该尊重用户的决定。 这样,从设备设置中更改文本大小不会更改此值。这就是用sp代替dp的原因。 所以我的建议是使用不同的系统字体大小(小,正常,大,…)
https://stacklearn.ir