如何在RN for Android中禁用字体缩放?

时间:2016-03-12 22:26:20

标签: android react-native

只需在iOS上使用allowFontScaling={false}修复此功能,但我不确定如何在Android上设置此功能。

另外,对于那些不熟悉RN并且从Android标签来到这里的人,我认为我不能轻易地从dp字体缩放或其他任何东西改变,所以有什么方法我可以做它以某种方式在我的应用程序中全局?

谢谢!

1 个答案:

答案 0 :(得分:9)

请更新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);
    }
}