1、為什么要動態(tài)設置字體大小
? ? 由于項目面對的是中老年客戶項目中自帶的字體無法滿足客戶需求。
2、設置全局字體大小需要做哪些?
? ? 2、1、首先將定義常量進行接收要改變字體大小的系數(shù)如:Constant.TEXTVIEWSIXE
? ? ? ? ? 2、設置全局保存系數(shù)SharedPreference以便下次進入字體顯示上次設置的大小
? ? ? ? ? 3、在BaseActivity中編寫以下代碼:
@Override
public Resources getResources() {
Resources res =super.getResources();
Configuration config = res.getConfiguration();
config.fontScale= Constant.TEXTVIEWSIXE;//1 設置正常字體大小的倍數(shù)
res.updateConfiguration(config,res.getDisplayMetrics());
returnres;
}
? ? ? ? ?4、編寫設置大小頁面

? ? ? ? ? ? ? ? ? ? ? ? 編寫當前頁面代碼就不進行放入進去,需要做的操作是

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以上這段代碼是將滑動設置的字體系數(shù)大小報錯入SharedPreference中,并調(diào)用getResources()改變系統(tǒng)系數(shù),再通過代碼設置當前字體大小來進行設置改變大小。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5、在按返回鍵的時候通過EventBus來進行通知主頁面然后進行重啟工作(表面上事根本看不出來的也不會出現(xiàn)卡頓延遲現(xiàn)象)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 有的同學不知道EventBus是什么可以進行擴展一下?
?3、什么是EventBus? ? ?
? ? ? ? EventBus是一個Android端優(yōu)化的publish/subscribe消息總線,簡化了應用程序內(nèi)各組件間、組件與后臺線程間的通信。比如請求網(wǎng)絡,等網(wǎng)絡返回時通過Handler或Broadcast通知UI,兩個Fragment之間需要通過Listener通信,這些需求都可以通過EventBus實現(xiàn)。
如何使用?
只需要在gradle中導入compile'org.greenrobot:eventbus:3.0.0' 然后就可以使用了
在在需要重啟的頁面進行放入以下代碼,做到刷新左右(針對帶有底部導航側(cè)邊欄應用的可以這么做)

4、針對哪些是可以進行放縮的呢?
? ? ? ? ? ?在xml字體中只要是設置帶有sp字體大小的都是可以進行設置的,如果說有部分字體不想跟隨放縮那么就設置成dp