码迷,mamicode.com
首页 > Windows程序 > 详细

动态加载Layout 与 论Activity、 Window、View的关系

时间:2014-09-03 14:46:06      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:cti   代码   sp   on   c   new   ad   window   text   

1)动态加载Layout的代码是

getWindow().setContentView(LayoutInflater.from(this).inflate(R.layout.main, null));

它等同于

setContentView(R.layout.main);

其实

getWindow().setContentView(LayoutInflater.from(this).inflate(R.layout.main, null))  是 setContentView(R.layout.main)

的底层实现

 

2)论Activity、 Window、View的关系

类似于MVC模式,Activity为控制器,Window为模型,View为真正的视图。

a,一个Activity 构造的时候一定会构造一个Window(PhoneWindow),并且只有一个

b,这个Window有一个ViewRoot(View /  ViewGroup)

c,ViewRoot通过addView方法来添加View,如TextView,Button

d,这些View的事件监听,是由WindowManagerService来接收信息,并且回调Activity函数,

比如onClickListener,onKeyDown等。

动态加载Layout 与 论Activity、 Window、View的关系

标签:cti   代码   sp   on   c   new   ad   window   text   

原文地址:http://www.cnblogs.com/beyondckw/p/3953447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!