自定义View(一):相关知识

转载 2016年05月31日 23:44:51

首先了解一下Activity相关的知识

Activity,Window,View 三者之间的关系

首先我们来看一张图
Activity Window View 关系图

  • 图中的Window是什么?
    Window原来是Activity的一个变量,可以通过getWindow()获取,而且Activity中经常用到的setContentView原来调用的是windowsetContentView
    Google说WindowWindowManager最顶层的视图,它负责背景(窗口背景)、Title之类的标准的UI元素,Window是一个抽象类,整个Android系统中PhoneWindowWinodw的唯一实现类。

  • Activity充当了什么角色?他不是顶层窗口吗?
    Activity实际意义上说,他并不能叫做一个容器或者窗口,他只是充当了一个控制器的角色,而屏幕上最外层的容器实际上是DecorVIew,而DecorView实际上是一个FrameLayout,他的里面又有一个垂直的LinearLayoutLinearLayout下面又有两个FrameLayout,第一个FrameLayout是一个默认只有一个TextVIew的标题栏,而第二个FrameLayout则是我们在ActivityonCreate中set的ContentView

Window DecorView层级关系图

可以看到DecorView是在Window中的,DecorView分为了两块区域,上面是标题栏,而绿色区域就是我们在ActivitysetContentView()中设置的布局区域。

android的UI框架基本知识

Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互
具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的:
Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建;
View:最基本的UI组件,表示屏幕上的一个矩形区域;
DecorView:是Window中View的RootView,设置窗口属性;
Window:表示顶层窗口,管理界面的显示和事件的响应;每个Activity 均会创建一个
PhoneWindow对象,是Activity和整个View系统交互的接口
WindowManager:一个interface,继承自ViewManager。所在应用进程的窗口管理器;
有一个implementation WindowManagerImpl;
主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。
ViewRoot:通过IWindowSession接口与全局窗口管理器进行交互:界面控制和消息响应;
ActivityThread:应用程序的主线程,其中会创建关联当前Activity与Window;
创建WIndowManager实现类实例,把当前DecoView加入到WindowManager;

Android UI 框架关系相关类关系图

相关类结构图
相关类结构图

相关文章推荐

Android 自定义View属性相关细节

从鸿洋的公众号上看到的,在博客上没找到,自己也一直疑惑所以记了下来。 自定义View中构造方法中调用初始化代码,两种写法的区别 (1)第一种 (2)第二种 对于两种写法,...

Android 自定义View触摸相关工具类详解

转载自: 工匠若水 http://blog.csdn.net/yanbober ViewConfiguration基础参数工具类 ViewConfiguration这个类主要提供了一些自定义控...

自定义View 相关(一)onDraw

自定义View的onDraw 1.正常情况下,onDraw()方法只执行一次。 Log显示: 2.要让onDraw()方法,再执行,就要调用invalidate()或postin...

ANDROID 自定义VIEW 的相关说明

本文首先发表在http://www.hikyson.cn/archives/468 参考android developer,文章适用于用过一点点自定义view的新手。首先讲两个方法: invalida...

Android笔记-canvas与自定义view相关内容

Canvas画布+Paint画笔 圆形 创建一个Bitmap对象的方法: Bitmap.createBitmap(200, 200, Config.ARGB_8888); 调整一个Bitmap...

《温故而知新》系列之自定义View基本知识

年末,工作闲暇之余写了这篇自定义View常用的基本知识,主要是为了巩固一下自己的基础。 提到自定义View,大家耳熟能详:自定义属性、onMeasure()、onDraw()。onMeaure比较简...

自定义View知识基础准备(一)

从api和源码分析自定义view涉及到的知识点

Android自定义视图 View 之重要知识点 Path 详解

这篇帖子主要的还是给大家讲了一下怎么来用Path,这个在我们的android应用当中用到的很多,不多说什么了,在代码当中我已经注释了中文意思,大家还是来看看吧

自定义View的基础知识

自定义View的基础知识

自定义View的基本知识和步骤

自定义view的基本知识和步骤
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)