View,Widget,Layout,Window,Activity之间的关系
2013-11-21 12:39
579 查看
View,Widget,ViewGroup和Layout同属一类;
View是界面显示的基本单元,会draw()到Canvas上。
ViewGroup继承View,是个容器,内部有View[]数组;
有些Widget(如ImageView,TextView等)继承View;
有些Widget(如AdapterView,GridView等)继承ViewGroup;
所有Layout(如LinearLayout,FrameLayout)也都继承ViewGroup;
Window是个抽象类,PhoneWindow是其手机上的实现类;
它拥有个Context,在构造的赋值,通过它可以获取各种系统参数。
它拥有个WindowManager,负责跟系统的WINDOW_SERVICE通信;
它拥有个派生自FrameLayout的DecorView,作为该窗口上的控件树的根;
它拥有Window类型的mContainer和mActiveChild,用于管理窗口之间的关系;
PhoneWindow主要包含:
标题(TextView mTitleView和ActionBarView mActionBar);
内容区域(ViewGroup mContentParent),通常用setContentView()设置。
选择菜单(ContextMenuBuilder mContextMenu),可以显示或隐藏。
Activity,跟Application和Service等都派生自Context(上下文,环境);
它拥有个Window,在attach()时,由PolicyManager.makeNewWindow()赋值;
它拥有个mMainThread,用于记录执行线程,在attach()时,由外部传入。
它拥有Activity类型的mParent,用于维护Activity之间的关系;
PolicyManager拥有个IPolicy,它的makeNewWindow()调用了new PhoneWindow;
View是界面显示的基本单元,会draw()到Canvas上。
ViewGroup继承View,是个容器,内部有View[]数组;
有些Widget(如ImageView,TextView等)继承View;
有些Widget(如AdapterView,GridView等)继承ViewGroup;
所有Layout(如LinearLayout,FrameLayout)也都继承ViewGroup;
Window是个抽象类,PhoneWindow是其手机上的实现类;
它拥有个Context,在构造的赋值,通过它可以获取各种系统参数。
它拥有个WindowManager,负责跟系统的WINDOW_SERVICE通信;
它拥有个派生自FrameLayout的DecorView,作为该窗口上的控件树的根;
它拥有Window类型的mContainer和mActiveChild,用于管理窗口之间的关系;
PhoneWindow主要包含:
标题(TextView mTitleView和ActionBarView mActionBar);
内容区域(ViewGroup mContentParent),通常用setContentView()设置。
选择菜单(ContextMenuBuilder mContextMenu),可以显示或隐藏。
Activity,跟Application和Service等都派生自Context(上下文,环境);
它拥有个Window,在attach()时,由PolicyManager.makeNewWindow()赋值;
它拥有个mMainThread,用于记录执行线程,在attach()时,由外部传入。
它拥有Activity类型的mParent,用于维护Activity之间的关系;
PolicyManager拥有个IPolicy,它的makeNewWindow()调用了new PhoneWindow;
相关文章推荐
- Window7 x64环境下 SSIS无法通过Oracle 64位建立连接
- 二进制枚举+prim buy or build 问题
- python 专题十七 类
- 安装Grunt
- 解决The current branch is not configured for pull No value for key branch.master.merge found in config
- 使用Eclipse平台进行调试
- c#读取Excel的列名问题
- 电商VS店商!家电渠道变革在即
- Linux Shell for循环写法总结
- 基本语言细节--《深度探索C++对象模型》--(5)Semantics of Construction,Destruction,and Copy-总结点
- (转)非常好的协同过滤入门文章
- 关于c语言中时间函数的一些归纳
- 线程相关及需要注意的地方
- 关于c语言中时间函数的一些归纳
- gets和puts函数
- 向Python女神推荐这些年我追过的经典书籍
- sql server2000+mdb笔记
- 基于jquery和boot strap 的日期控件 datepicker 实例
- tomcat catalina.out日志分割
- MapReduce编程实例(三)