SetContentView流程及应用换肤
SetContentView流程
LayoutInflater.inflate流程
LayoutInflaterCompat.setFactory方法及换肤
在上边分析setContentView的流程中,我们发现在调用到createViewFromTag的时候,在调用系统方法生成View之前,会先调用tryCreateView方法
该方法中调用了factory.onCreateView方法,尝试生成view,如果生成成功,在createViewFromTag方法中就不会走系统方法生成view,直接返回factory生成的view对象
所以我们可以在该方法中拦截系统View生成,做一些自己的事情,比如替换特定的View或者是属性,全局替换字体,甚至可以用来做APP的动态换肤方案