插件化開發比較流行且易實現的用法是切換主題
首先,我們需要對佈局進行監聽,不然用戶可能在更改主題後,下次進入app會看見原始的主題變成之後的,影響體驗
我們來寫一個類,繼承自LayoutInflaterFactory
可以看到,最終它返回了一個view,我們需要在onCreatView方法裏對view進行主題切換,並將這個view返回
當我們寫好這個類後,可以通過下面的方法對activity設置主題
我們需要獲得view,自定義view這麼獲得
sdk自帶的view我們需要手動加包名,我們先創建一個包含包名的list,然後通過遞歸來獲得sdk自帶的view
我們先寫一個bean方便管理
然後將屬性有 “textColor” 和 “backGround”的view添加到list
然後我們寫一個SkinManager,來獲得主題apk裏的Resource
拿到這個resource,我們就能換主題了