Android 開發之修改 app 的字體大小(老人模式)


新的需求(可參見 微信和QQ改變字體):

  1. app 字體不隨着系統字體大小變化
  2. app 設置中有設置字體大小的開關,變大以后,整個 app 字體變大。

解決方案:(字體需要采用 dp 為單位,不能使用 sp 為單位)

  • 解決1. 在 activity 和 fragment 的基類中,修改屬性 fontScale 來實現的
1 private void initFontScale() { 
2   Configuration configuration = getResources().getConfiguration();
3   configuration.fontScale = (float) 1; 
4   //0.85 小, 1 標准大小, 1.15 大,1.3 超大 ,1.45 特大 
5   DisplayMetrics metrics = new DisplayMetrics();
6   getWindowManager().getDefaultDisplay().getMetrics(metrics); 
7   metrics.scaledDensity = configuration.fontScale * metrics.density;
8   getBaseContext().getResources().updateConfiguration(configuration, metrics); 
9 }

鏈接:http://www.jianshu.com/p/fafa8a0df5fb

 

  • 解決2:通過設置獲取到一個默認字體大小的倍數,然后保存到 SharePreference 中,然后重啟 activity ,加載控件的時候,讓控件默認字體大小乘以存儲的倍數

鏈接:http://www.cnblogs.com/xqxacm/p/5779762.html

 

  • 解決3: 通過抽取為 style ,在設置中修改大小,然后重啟 app,通過給 activity 設置 theme 進行替換

鏈接:http://blog.sina.com.cn/s/blog_3e333c4a0101igti.html

鏈接:http://blog.csdn.net/dlmu2001/article/details/7414411

鏈接:http://blog.csdn.net/wanjf_912/article/details/7641184

鏈接:http://www.jianshu.com/p/61b79e7f88fc

鏈接:http://hellorheaven.iteye.com/blog/2076403


免責聲明!

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



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