Android 開發(fā)之修改 app 的字體大小

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

  1. app 字體不隨著系統(tǒng)字體大小變化
  2. app 設(shè)置中有設(shè)置字體大小的開關(guān),變大以后,整個 app 字體變大。

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

  • 解決1. 在 activity 和 fragment 的基類中,修改屬性 fontScale 來實現(xiàn)的
private void initFontScale() { 
 Configuration configuration = getResources().getConfiguration();
 configuration.fontScale = (float) 1; 
 //0.85 小, 1 標準大小, 1.15 大,1.3 超大 ,1.45 特大 
 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics); 
 metrics.scaledDensity = configuration.fontScale * metrics.density;
 getBaseContext().getResources().updateConfiguration(configuration, metrics); 
}
  • 解決2:通過設(shè)置獲取到一個默認字體大小的倍數(shù),然后保存到 SharePreference 中,然后重啟 activity ,加載控件的時候,讓控件默認字體大小乘以存儲的倍數(shù)

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

  • 解決3: 通過抽取為 style ,在設(shè)置中修改大小,然后重啟 app,通過給 activity 設(shè)置 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.itdecent.cn/p/61b79e7f88fc

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評論 25 709
  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng),在此記錄下我的查閱學(xué)習歷程,感謝各位原創(chuàng)作者的無私奉獻 ! 技術(shù)一點一點積...
    遠航的移動開發(fā)歷程閱讀 11,534評論 12 197
  • 太長了,還是轉(zhuǎn)載吧...今天在看博客的時候,無意中發(fā)現(xiàn)了@Trinea在GitHub上的一個項目Android開源...
    龐哈哈哈12138閱讀 20,384評論 3 283
  • 由上圖可知,項目分層1個app目錄,4個測試目錄app目錄分為: 4個測試目錄分別是:androidTest: U...
    zhuanghongji閱讀 688評論 1 0
  • 讀了《白鹿原》,可謂是百感交集。 一個“昏天黑地”的時代,一個流傳許久的神奇?zhèn)髡f,在這片廣袤的土地上演繹著一段段深...
    l358閱讀 1,046評論 0 1

友情鏈接更多精彩內(nèi)容