美文网首页
android 8.0的字体大小

android 8.0的字体大小

作者: 一个大西瓜CPI | 来源:发表于2019-01-04 14:52 被阅读19次

    1. 禁止字体大小跟随字体调节

    在Application中重写 getResources

        //防止字体跟随系统缩放
        public final static  int FONTSCALE = 1;
    
        /**
         * 让字体放大无效
         *
         * @param newConfig
         */
        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            if (newConfig.fontScale != FONTSCALE) {
                getResources();
            }
            super.onConfigurationChanged(newConfig);
        }
    
        @Override
        public Resources getResources() {
            Resources res = super.getResources();
            if (res.getConfiguration().fontScale != FONTSCALE) {
                //非默认值
                Configuration newConfig = new Configuration();
                newConfig.setToDefaults();
                //设置默认
                res.updateConfiguration(newConfig, res.getDisplayMetrics());
            }
            return res;
        }
    

    2. android 8.0 发现在Application中重写是无效的需要在每个使用到的Activity中重写 getResources

    这里在BaseActivity中重写 getResources

        @Override
        public Resources getResources() {//还原字体大小
            Resources res = super.getResources();
            Configuration configuration = res.getConfiguration();
            if (configuration.fontScale != DoApplication.FONTSCALE) {//fontScale要缩放的比例
                configuration.fontScale = DoApplication.FONTSCALE;
                res.updateConfiguration(configuration, res.getDisplayMetrics());
            }
            return res;
        }
    
    

    3. 调整系统字体进行测试

    相关文章

      网友评论

          本文标题:android 8.0的字体大小

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