我想在我的应用程序中指定我自己的文本大小,但我这样做有一个问题。
当我在设备设置中改变字体大小时,我的应用程序TextView的字体大小也会改变。
我想在我的应用程序中指定我自己的文本大小,但我这样做有一个问题。
当我在设备设置中改变字体大小时,我的应用程序TextView的字体大小也会改变。
当前回答
在Activity中重写getResources()。
设置TextView的大小在sp通常像android:textSize="32sp"
override fun getResources(): Resources {
return super.getResources().apply {
configuration.fontScale = 1F
updateConfiguration(configuration, displayMetrics)
}
}
其他回答
我通常在资源文件中改变大小
<resources>
<dimen name="siez_1">40px</dimen>
<dimen name="siez_2">50px</dimen>
<dimen name="siez_3">60px</dimen>
</resources>
最简单的方法就是使用如下代码:
android:textSize="32sp"
如果你想了解更多关于textSize属性的信息,你可以查看Android开发者文档。
将DP更改为sp,这是android的良好实践 android: textSize = " 18 sp "
还要注意,如果在代码中设置了textSize,调用textView.setTextSize(X)将数字(X)解释为SP。COMPLEX_UNIT_DIP, X)在dp中设置值。
对于kotlin,这对我来说是有效的
priceTextView.textSize = 12f