首页 > Windows开发 > 详细

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

时间:2016-03-21 20:11:26      阅读:219      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!