【android setContentView处理流程】赋料扬雄敌,诗看子建亲。这篇文章主要讲述android setContentView处理流程相关的知识,希望能为你提供帮助。
1、 Activity在onCreate()方法之前调用attach()方法,在attach方法中会创建Window对象。Window对象创建时并没有创建Decor对象。
2、 用户在Activity中调用setContentView()方法。
3、 setContentView()调用Window的setContentView()方法。这时会检查DecorView是否存在,如果不存在则调用installDecor()方法创建DecorView对象;之后调用generateLayout()方法把用户自己的View添加到DecorView中;最后回调Callback的onContentChanged()方法通知用户界面改变了。
注意事项
- Window是一个抽象类,提供了各种窗口操作的方法,比如设置背景标题等。
- PhoneWindow是Window的唯一实现类,它里面实现了各种添加背景主题ContentView的方法,内部通过DecorView来添加顶级视图。
- 每一个Activity上都有一个Window,可以通过getWindow()获取;DecorView继承于FrameLayout,setContentView()则是添加在它里面的@id/content里面。
推荐阅读
- 避免踩坑(易盾安全老司机起底Android九大漏洞,附解决建议)
- Cannot resolve symbol KeyEventCompat(android.support.v4.view.KeyEventCompat找不到)
- Qt Application Menu In Window and Mac
- unity生成Android apk
- Vue 实现网易云音乐 WebApp
- unity直连android真机在Profiler性能分析测试
- PHP教程介绍
- PHP变量范围
- PHP echo和print语句