由于本身对依赖注入比较感兴趣 最近有在学android 又用到了XUtils 看了一下ViewUtils 的源码 此处给出原理,请原谅我年轻气盛没技术,大胆狂妄写解析.(如有不妥之处,敬请提出,本人当虚心吸取,好好改正)
构成 1 annotion 类
包 org.lidroid.xutils.view.annotation
ContentView 主要注入有setContentView 方法的view
PreferenceInject 正对PreferenceActivity 相关的注入
ResInject 注入资源文件 string 等
ViewInject 用于注入view
包 com.lidroid.xutils.view
EventListenerManager 事件注入的大总管 使用动态代理进行方法调用 然后设置个相应的handler(也就是当前的事件注入所在的对象)
ViewInjectInfo 用于存储注入的View 相关信息 也就是对应的VIewInject中的值
ViewFinder 从名字上就可以看出是用来找相关view 的 级别两个 Activity 和 注入时设置的View
ResType 使用枚举定义常用的资源类型