android插件化主题方案 (上–LayoutInflateFactory的使用)
标签(空格分隔): android 主题 皮肤 插件化
“做成网易音乐那样的!”
这次产品经理提出的需求就是像网易音乐那样可以更换主题皮肤,当然皮肤切换很多app都有,产品经理也明确表示需要后台有皮肤主题管理能力,所以这次的功能免不了要做成外挂式,不能简单的在资源文件编写多套value的方式实现。
那我们就来一步步的实现吧。
首先,我们先不管插件化的方式,先来看看如何在不更改已编写xml的情况下,快速替换view的资源。
setContentView()做了些什么?
我们知道默认onCreate()执行时,马上会调用setContentView(int id)方法,将layout资源与activity进行绑定,我们看看setContentView做了些什么。
public void setContentView(@LayoutRes int layoutResID) {
getWindow().setContentView(layoutResID);
initWindowDecorActionBar();
}
这是Activity类中的setContentView()的方法,我们继续往下看。
@Override
public void setContentView(int layo