美文网首页
Android 兼容8.0及以上 App全局字体调节、禁止App

Android 兼容8.0及以上 App全局字体调节、禁止App

作者: hao_developer | 来源:发表于2021-05-24 10:40 被阅读0次

    在APP中,字体的大小单位一般会用sp,然而在改变系统字体大小时,App字体就会随着系统字体大小改变而改变,这就可能造成APP布局的错位。

    造成这种情况的原因是,sp单位除了受屏幕密度影响外,还受到用户的字体大小影响,通常情况下,建议使用sp来跟随用户字体大小设置。除非一些特殊的情况,不想跟随系统字体变化的,可以使用dp”。按照这么说,布局宽高固定写死的地方应该统一用dp显示字体,因为一旦用户在设置中调大字体,宽高写死的布局显示就乱了。

    针对这种情况,查找网上的方法也很多,大多是这样的方法 (重写 Application 或 BaseActivity 中的方法):

    /**
       * 重写 getResource 方法,防止系统字体影响
       */
      @Override
      public Resources getResources() {//禁止app字体大小跟随系统字体大小调节
        Resources resources = super.getResources();
        if (resources != null && resources.getConfiguration().fontScale != 1.0f) {
          android.content.res.Configuration configuration = resources.getConfiguration();
          configuration.fontScale = 1.0f;
          resources.updateConfiguration(configuration, resources.getDisplayMetrics());
        }
        return resources;
      }
    

    如何有更好的方案,请给与连接或说明

    相关文章

      网友评论

          本文标题:Android 兼容8.0及以上 App全局字体调节、禁止App

          本文链接:https://www.haomeiwen.com/subject/irfxsltx.html