Android 修改系統字體大小,導致頁面展示異常解決方案


Android系統默認是允許修改系統本身的字體大小的,導致頁面展示異常。

頁面展示異常是因為系統字體大小影響到了程序中字體的單位sp,所以解決此問題的方案1是,將布局中字體大小的單位sp換成dp

解決方案2:重寫Activity或Application中的getResources()方法,即:

 @Override
    public void onConfigurationChanged(Configuration newConfig) {
        if (newConfig.fontScale != 1)//非默認值
            getResources();
        super.onConfigurationChanged(newConfig);
    }

    @Override
    public Resources getResources() {
        Resources res = super.getResources();
        if (res.getConfiguration().fontScale != 1) {//非默認值
            Configuration newConfig = new Configuration();
            newConfig.setToDefaults();//設置默認
            res.updateConfiguration(newConfig, res.getDisplayMetrics());
        }
        return res;
    }

即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM