只需在iOS上使用allowFontScaling={false}
即可解决此问题,但我不确定如何在Android上设置。
此外,对于那些不熟悉React Native并从Android标签来到这里的人,我不认为我可以轻松地从sp
字体缩放或其他东西切换,所以有没有一种方式可以在我的应用程序中全局实现它?
谢谢!
只需在iOS上使用allowFontScaling={false}
即可解决此问题,但我不确定如何在Android上设置。
此外,对于那些不熟悉React Native并从Android标签来到这里的人,我不认为我可以轻松地从sp
字体缩放或其他东西切换,所以有没有一种方式可以在我的应用程序中全局实现它?
谢谢!
请更新ManiApplication.java文件
import android.view.WindowManager;
import android.content.res.Configuration;
import android.content.Context;
import android.util.DisplayMetrics;
在 super.onCreate();
方法后添加 adjustFontScale(getApplicationContext(),getResources().getConfiguration());
像下面这样:
@Override
public void onCreate() {
super.onCreate();
adjustFontScale(getApplicationContext(),getResources().getConfiguration());
}
最后添加以下函数
public void adjustFontScale(Context context, Configuration configuration) {
if (configuration.fontScale != 1) {
configuration.fontScale = 1;
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
context.getResources().updateConfiguration(configuration, metrics);
}
}