Activity中UI框架基本概念
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框架基本概念相关推荐
- Unity | Unity中UI框架的实现与使用
文章目录 0 前言 1 程序结构 2 工具类:UIPanelInfo.cs 3 PanelType枚举类以及BasePanel类 4 UIManager类 5 UIPanelJson文件 5 使用方法 ...
- 腾讯 android ui,腾讯开源的Android UI框架——QMUI Android
各位同学,早上好,我是你们的老朋友D_clock爱吃葱花,前些天忙着发版本,最近也在看各种各样的新知识,有好多东西想写啊啊啊啊啊.嗯,先冷静捋一下,卖个关子.扯回正题,今天继续为大家推荐一个Githu ...
- 一起Talk Android吧(第三百八十二回:UI框架)
文章目录 使用背景 概念介绍 命令式UI框架 声明式UI框架 各位看官们,大家好,上一回中咱们说的是通知发送方式的的例子,这一回中咱们介绍的例子是UI框架.闲话休提,言归正转,让我们一起Talk An ...
- semantic ui中文文档_Vuetify-广受欢迎的Material风格的开源UI框架
全世界范围内广受欢迎的 Vue UI 框架,一个非常精致的 Material Design UI 套件. Material Design 风格 UI 框架 Vuetify 是一个基于 Vue.js 精 ...
- DevExtreme UI框架在可视化应用程序Nvisual中的实践应用
DevExtreme 是一款跨平台的UI框架,具有开发迅速.性能稳定.组件丰富等优势,在国际有非常高的知名度,并实际应用到众多浏览器应用程序中,开发者可通过jQuery.Vue.React等主流前端库 ...
- HBuildx中使用vant的ui框架
HBuildx中使用vant的ui框架 输入 npm安装 npm i vant-weapp -S --production 或者yarn安装 yarn add vant-weapp --product ...
- 微信小程序中使用第三方ui框架方法
安装步骤 安装前确定电脑上安装了node. (没有设置探宝镜像的先设置淘宝镜像,安装速度更快) 设置淘宝镜像: npm config set registry https://registry.npm ...
- 有赞前端 UI框架「Vant」在离线无网络环境中使用 icon 无法显示的问题
有赞前端 UI框架「Vant」在离线无网络环境中使用 icon 无法显示的问题 第一次使用这个框架.UI组件中规中矩,很简洁,不是特别多,基本够用.Vant 官网 在内网中部署 Vue+Vant的项目 ...
- 修改taro-ui的样式,在自定义组件中使用taro-ui,修改ui框架样式
其实修改ui框架的样式还是很容易碰见的,但是每个框架处理的方式可能还有点不太一样, taro编译出来的小程序样式. addGlobalClass 添加这个 只能让我们修改页面中的taro-ui 样式 ...
最新文章
- Nginx负载均衡的详细配置及使用案例
- 如果重走职场,一定会送自己 8 个锦囊
- MIDlet 移动开发
- mysql 多个游标_mysql 存储过程中使用多游标
- 下列那些是oracle的伪列,oracle伪列
- boost::lambda::switch_statement用法的测试程序
- Java黑皮书课后题第10章:**10.28(实现StringBuilder类)在Java库中提供了StringBuilder类。给出你对下面方法的实现(将新类命名为MyStringBuilder2)
- MONGODB 权限认证
- 4行代码满分:L1-052 2018我们要赢 (5分)
- UML模型中的图-行为图【交互图-序列图、协作图】
- 我常用的电脑操作快捷键
- windows下配置mysql主从复制_Windows下MySQL主从复制的配置方法
- 用jquery模仿的a的title属性
- xampp for linux
- 拼接 结果集_JUST技术:利用轨迹拼接分析实时可达区域|技术前沿
- 第三章 比特币的实现机制
- java div和table_详细为你讲解,DIV+CSS布局和TABLE布局的优缺点(经典)
- 张果老能是鸿蒙时期一蝙蝠,张果老(中国古代神话传说八仙之一)_百度百科...
- python贝叶斯估计库_tsbngen一个python库,可从任意动态贝叶斯网络生成时间序列数据...
- 计算机专业有没有3D打印,3D打印技术属于哪个专业_招生问答
热门文章
- 如何合理使用java异常_如何更合理的利用Java中的异常抛出?
- linux 进程原理内存,linux进程通信之共享内存原理(基于linux 1.2.13)
- php中register_global,PHP安全之register_globals的on和off的区别
- 开发c s架构java应用程序6_java常见面试题
- 计算机管理学科,计算机学院学科经费使用与管理细则(试行)
- new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
- Python 画樱花(动态画+飘落效果+暗色效)
- C语言结构体通过 scanf初始化
- elasticsearch最大节点数_Elasticsearch选举原理之Bully算法
- hibernate savealiasentity 保存后id为空_好程序员Java教程分享Java面试题之Hibernate