标签:
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的关系
标签:
原文地址:http://www.cnblogs.com/gcczhongduan/p/5303027.html