android中activity,window,view之间的关系

activity:控制单元

window:承载模型

view:显示视图

几个小tip:

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

2、每个window有一个 ViewRoot(是一个View或ViewGroup)

3、通过window的addview方法把元素添加到window上。

4、可以通过 LayoutInflater 的 inflater 方法,可以把一个布局文件转换成view对象

5、界面上的点击等操作是由 WindowManagerService 接收消息,然后回调 Activity 函数来处理

时间: 2024-08-06 00:43:37

android中activity,window,view之间的关系的相关文章

Android中Activity Window View ViewGroup之间的关系

Activity:是Android四大组件之一,用于展示一个与用户交互的界面 ----展示界面 ----与用户交互 Activity相当于控制器,负责调用业务类的方法.简单的业务可以直接在Activity中处理. Activity通过内置是Window对象的setContentView(资源位置.资源类型.资源)方法来展示界面. 用户通过View操作界面. 与用户交互时,通过View来捕获事件,再通过WindowManagerService传递消息(当前操作的控件,事件的类型).Android框

Android 中Activity,Window和View之间的关系

转自:http://hi.baidu.com/xiaofanqing/blog/item/8261ac114ab14f64cb80c435.html 我这里根据我个人的理解来讲讲我个人对这3个概念的理解.当然这里设计到通用的事件窗口模型等通用GUI设计,我这里就不打算讲了,纯粹从概念上来进行区分. 但在用户级别,程序员可能根愿意理解成为一个界面的载体.但仅仅是个载体,它本身并不负责任何绘制.Activity的内部实现,实际上是聚了一个 Window对象.Window是一个抽象类,它的具体是在an

Android进阶笔记08:Android 中Activity、Window和View之间的关系

1. Android 中Activity.Window和View之间的关系(比喻): Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图) LayoutInflater像剪刀,Xml配置像窗花图纸.  2. 详解:       Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent, onTouchEvent等. 并维护应用程序的生命周期.Activity本身是个庞大的载体,

Activity、Window、View之间的关系

一.首先说说View和ViewGroup吧 Android系统中的所有UI类都是建立在View和ViewGroup这两个类的基础上的.所有View的子类成为"Widget",所有 ViewGroup的子类成为"Layout".View和ViewGroup之间采用了组合设计模式,可以使得"部分-整体"同等对待. ViewGroup作为布局容器类的最上层,布局容器里面又可以有View和ViewGroup. 二.LayoutInflater,Layou

Android中Activity四种加载模式

Activity四种加载模式 我们知道在配置Activity的时候可以指定android:lauchMode属性,该属性用于配置该Activity的加载模式,概述行支持以下四种: 1.standard: 标准模式,这是默认的加载模式. 2.singleTop: Task顶单例模式. 3.singleTask: Task内单例模式. 4.singleInstance: 全局单例模式. 那么Activity为什么需要制定加载模式呢? 由于在Android上启动一个应用后,系统会自动的创建一个属于该应

Android中Activity启动模式详解,可以控制程序按home键后进来还会调用一个自己不喜欢的界面

其实这是很简单的一个问题.但是这还是要对android中activity的启动模式有相当的理解才行,当点击home键的时候,懂Android的人都知道,他会把当前activity放到后退栈中, 栈(Stack)又称堆栈,它是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算.人们把此端称为栈顶,栈顶的第一个元素被称为栈顶元素,相对地,把另一端称为栈底.向一个栈插入新元素又称为进栈或入栈,它是把该元素放到栈顶元素的上面,使之成为新的栈顶元素:从一个栈删除元素又称为出栈或退栈,它是把栈

Android中Activity启动模式详解

在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. Android总Activity的启动模式分为四种: Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standard" /> Activity的四种启动模式:

android中activity.this跟getApplicationContext的区别

转载: http://www.myexception.cn/android/1968332.html android中activity.this和getApplicationContext的区别 在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是this,那么这个this究

Android中Activity切换时共享视图元素的切换动画(4.x兼容方案)

同时发布在我的博客 点此进入 开始 上一篇讲了使用 Google 的 AppCompat-v7 来实现 Activity 切换时实现共享视图元素的切换动画.这一篇介绍两个可以兼容 4.x 的两个第三方方案. 上一篇:Android中Activity切换时共享视图元素的切换动画(5.0以上) 方案一:PreLollipopTransition 首先在 build.gradle 配置文件添加这个库依赖 dependencies { compile 'com.kogitune:pre-lollipop