Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;

具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。

一Activity相关概念

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;

    

二 实现流程框架图

Activity上Window的创建关联流程如下:

  

    

相关类结构:

  

      

层级关系:

  (此图网上盗用...)

    

Activity中UI框架基本概念相关推荐

  1. Unity | Unity中UI框架的实现与使用

    文章目录 0 前言 1 程序结构 2 工具类:UIPanelInfo.cs 3 PanelType枚举类以及BasePanel类 4 UIManager类 5 UIPanelJson文件 5 使用方法 ...

  2. 腾讯 android ui,腾讯开源的Android UI框架——QMUI Android

    各位同学,早上好,我是你们的老朋友D_clock爱吃葱花,前些天忙着发版本,最近也在看各种各样的新知识,有好多东西想写啊啊啊啊啊.嗯,先冷静捋一下,卖个关子.扯回正题,今天继续为大家推荐一个Githu ...

  3. 一起Talk Android吧(第三百八十二回:UI框架)

    文章目录 使用背景 概念介绍 命令式UI框架 声明式UI框架 各位看官们,大家好,上一回中咱们说的是通知发送方式的的例子,这一回中咱们介绍的例子是UI框架.闲话休提,言归正转,让我们一起Talk An ...

  4. semantic ui中文文档_Vuetify-广受欢迎的Material风格的开源UI框架

    全世界范围内广受欢迎的 Vue UI 框架,一个非常精致的 Material Design UI 套件. Material Design 风格 UI 框架 Vuetify 是一个基于 Vue.js 精 ...

  5. DevExtreme UI框架在可视化应用程序Nvisual中的实践应用

    DevExtreme 是一款跨平台的UI框架,具有开发迅速.性能稳定.组件丰富等优势,在国际有非常高的知名度,并实际应用到众多浏览器应用程序中,开发者可通过jQuery.Vue.React等主流前端库 ...

  6. HBuildx中使用vant的ui框架

    HBuildx中使用vant的ui框架 输入 npm安装 npm i vant-weapp -S --production 或者yarn安装 yarn add vant-weapp --product ...

  7. 微信小程序中使用第三方ui框架方法

    安装步骤 安装前确定电脑上安装了node. (没有设置探宝镜像的先设置淘宝镜像,安装速度更快) 设置淘宝镜像: npm config set registry https://registry.npm ...

  8. 有赞前端 UI框架「Vant」在离线无网络环境中使用 icon 无法显示的问题

    有赞前端 UI框架「Vant」在离线无网络环境中使用 icon 无法显示的问题 第一次使用这个框架.UI组件中规中矩,很简洁,不是特别多,基本够用.Vant 官网 在内网中部署 Vue+Vant的项目 ...

  9. 修改taro-ui的样式,在自定义组件中使用taro-ui,修改ui框架样式

    其实修改ui框架的样式还是很容易碰见的,但是每个框架处理的方式可能还有点不太一样, taro编译出来的小程序样式. addGlobalClass 添加这个 只能让我们修改页面中的taro-ui 样式 ...

最新文章

  1. Nginx负载均衡的详细配置及使用案例
  2. 如果重走职场,一定会送自己 8 个锦囊
  3. MIDlet 移动开发
  4. mysql 多个游标_mysql 存储过程中使用多游标
  5. 下列那些是oracle的伪列,oracle伪列
  6. boost::lambda::switch_statement用法的测试程序
  7. Java黑皮书课后题第10章:**10.28(实现StringBuilder类)在Java库中提供了StringBuilder类。给出你对下面方法的实现(将新类命名为MyStringBuilder2)
  8. MONGODB 权限认证
  9. 4行代码满分:L1-052 2018我们要赢 (5分)
  10. UML模型中的图-行为图【交互图-序列图、协作图】
  11. 我常用的电脑操作快捷键
  12. windows下配置mysql主从复制_Windows下MySQL主从复制的配置方法
  13. 用jquery模仿的a的title属性
  14. xampp for linux
  15. 拼接 结果集_JUST技术:利用轨迹拼接分析实时可达区域|技术前沿
  16. 第三章 比特币的实现机制
  17. java div和table_详细为你讲解,DIV+CSS布局和TABLE布局的优缺点(经典)
  18. 张果老能是鸿蒙时期一蝙蝠,张果老(中国古代神话传说八仙之一)_百度百科...
  19. python贝叶斯估计库_tsbngen一个python库,可从任意动态贝叶斯网络生成时间序列数据...
  20. 计算机专业有没有3D打印,3D打印技术属于哪个专业_招生问答

热门文章

  1. 如何合理使用java异常_如何更合理的利用Java中的异常抛出?
  2. linux 进程原理内存,linux进程通信之共享内存原理(基于linux 1.2.13)
  3. php中register_global,PHP安全之register_globals的on和off的区别
  4. 开发c s架构java应用程序6_java常见面试题
  5. 计算机管理学科,计算机学院学科经费使用与管理细则(试行)
  6. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
  7. Python 画樱花(动态画+飘落效果+暗色效)
  8. C语言结构体通过 scanf初始化
  9. elasticsearch最大节点数_Elasticsearch选举原理之Bully算法
  10. hibernate savealiasentity 保存后id为空_好程序员Java教程分享Java面试题之Hibernate