Activity,view,window关系形象理解
来源:互联网 发布:截取在线视频软件 编辑:程序博客网 时间:2024/04/29 09:53
当我们运行程序的时候,有一个setContentView()方法,Activity其实不是显示视图(直观上感觉是它),实际上Activity调用了PhoneWindow的setContentView()方法,然后加载视图,将视图放到这个Window上,而Activity其实构造的时候初始化的是Window(PhoneWindow),Activity其实是个控制单元,即可视的人机交互界面。
打个比喻:
Activity是一个工人,它来控制Window;Window是一面显示屏,用来显示信息;View就是要显示在显示屏上的信息,这些View都是层层重叠在一起(通过infalte()和addView())放到Window显示屏上的。而LayoutInfalter就是用来生成View的一个工具,XML布局文件就是用来生成View的原料
你知道MVC模式吧?M Model, V View, C Control,在Android里面View就是 View 类, Control之一就是Activity 类了
首先View不代表一个屏幕,View可以代表一个按钮(ButtonView),一行字(TextView),一个文本框(EditText),也可以代表一个不可见的容器(ViewGroup的子类们),装了一打按钮之类的东西,ViewGroup可以它里面东西的排列显示方式,横着、竖着、可以滚动的,等等,随心所欲。ViewGroup里面可以套ViewGroup,就像俄罗斯套娃,最外面那个才充满整个屏幕。
Acitivity当然代表一个屏幕,但和view的作用不同。看View,不说别的,就onDraw()方法,Activity有吗?Activity连个带draw字的方法都没有,所以它不直接负责显示工作。你看Activity的方法,大部分都处理这些事的,比如触摸、按件、呼出菜单、保存状态、暂停、继续,都是处理程序的。如果你不给Acitvity里面“setContentView",它就没有东西显示。所以Activity就像是个后台打杂的,和前台唱戏的View是互相配合的关系。
这么说吧,activity就是html标签,是整个html代码的根,所有的界面组成控件都必须放在activity里面。
view就是div标签,是一个能够盛放别的控件的容器。
- Activity,view,window关系形象理解
- activity,window,view关系
- 如何理解Activity,View,Window三者之间的关系
- Android快速理解Activity、View及Window&WindowManager之间关系
- Android快速理解Activity、View及Window&WindowManager之间关系
- Activity Window View的关系
- Activity,Window,View的关系
- Activity、Window、View的关系
- Activity、Window、View的关系
- Activity、Window、View的关系
- Activity、Window、View的关系
- Activity、Window、View的关系
- Activity、Window、View的关系
- Activity、View、Window的理解
- Activity、View、Window的理解
- activity 和 window view 的关系
- Android中window,view,Activity的关系
- Android杂谈--Activity、Window、View的关系
- Java项目中使用FTP与SFTP上传图片
- 聊聊高并发(十一)实现几种自旋锁(五)
- 好用的PDF格式转换软件
- Head First Python (中文)学习笔记-1,2章
- cocos2dx中lambda表达式几种用法的初步总结
- Activity,view,window关系形象理解
- 关于宏、常量及inline函数
- mysql运维-lower_case_table_names(大小写敏感)
- Apache Tiles 学习(二)、Java Web应用中使用Apache Tiles
- 开心的你在哪里
- Linux内核调试printk()总结
- JS基础——模拟短信发送对话
- Java注解
- _stdcall、_cdecl、 _fastcall 调用区别