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

问题描述 投票:2回答:2

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

android:textSize=”30sp”

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

settings > display > font = small/normal/large/huge
android fonts font-size text-size
2个回答
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);

0
投票

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

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

enter image description here

并像这样在文件中定义大小

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

并像这样使用它到您的XML中:

android:textSize="@dimen/txt_fifteen"

希望如此会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.