TextView字体大小与设备字体大小设置不符

时间:2019-11-05 11:29:41

标签: android fonts font-size text-size

我有一个应用程序,其中' sp '中提到了TextView大小。

android:textSize=”30sp”

但是,如果我更改设备字体大小,则“应用的设备字体大小”不会反映在应用程序中。这可能是什么问题。我没有编写任何用于限制应用程序中设备字体大小的代码

settings > display > font = small/normal/large/huge

2 个答案:

答案 0 :(得分:1)

更改Java文件中的文本大小 将以下方法放入javafile

private int dpToPx(int dp)
    {
        return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
    }

然后尝试此代码。

 name = (Textview) findViewById(R.id.textview);
    int textsize= dptopx(30);
    name.setTextSize(textsize);

答案 1 :(得分:0)

不是使用30sp,而是在资源文件中定义不同的大小:

创建一个新的目录,将目录变暗为具有大,特大,小和常规值的值,如下所示:

enter image description here

像这样在文件中定义大小

 <resources>
   <dimen name="one">1dp</dimen>
 </resources>

像这样将其用于XML:

android:textSize="@dimen/txt_fifteen"

希望如此对您有帮助。