当前位置: 首页 > article >正文

Activity登堂入室

1.Activity,Window与View的关系

下面是自己查阅资料,看了下一点源码的归纳所得,如果哪写错了欢迎指出!下面贴下小结图:

流程解析:Activity调用startActivity后最后会调用attach方法,然后在PolicyManager实现一个Ipolicy接口,接着实现一个Policy对象,接着调用makenewwindow(Context)方法,该方法会返回一个PhoneWindow对象,而PhoneWindow是Window的子类,在这个PhoneWindow中有一个DecorView的内部类,是所有应用窗口的根View,即View的老大,直接控制Activity是否显示(引用老司机原话..),好吧,接着里面有一个LinearLayout,里面又有两个FrameLayout他们分别拿来装ActionBar和CustomView,而我们setContentView()加载的布局就放到这个CustomView中!

总结下这三者的关系:打个牵强的比喻:我们可以把这三个类分别堪称:画家,画布,画笔画出的东西;画家通过画笔( LayoutInflater.infalte)画出图案,再绘制在画布(addView)上!最后显示出来(setContentView)

2.Activit


http://www.kler.cn/a/5912.html

相关文章:

  • 电脑提示directx错误导致玩不了游戏怎么办?dx出错的解决方法
  • 基于 Python 自动化接口测试(踩坑与实践)
  • docker搭建atlassian-confluence:7.2.0
  • 半导体数据分析: 玩转WM-811K Wafermap 数据集(一) AI 机器学习
  • C# 对象和类型(结构)
  • uniapp获取安卓与ios的唯一标识
  • 树状数组 基础知识——C++数据结构
  • STM32学习(十三)
  • 讲解有哪些实用的数据恢复工具
  • 【C语言】整形数据的存储和读取过程
  • 【算法】【数组与矩阵模块】矩阵中的最短通路值
  • Autodesk AutoCAD 2023(CAD设计软件)自动化工具介绍以及图文安装教程
  • Python项目部署上线
  • 【Docker学习笔记】9.Docker Machine及Swarm 集群管理
  • 嵌入式linux网卡bonding配置
  • 13.Template Method模板方法(行为型模式)
  • ChatGPT编程秀:做一个简单爬虫程序
  • JDBC数据库驱动的下载与安装与连接
  • LeetCode-119. 杨辉三角 II
  • Azure SQL基础到实战(2)-部署
  • 提高工作效率,这 10 款 AI 工具不能错过
  • 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2020.7.5】
  • python接口自动化---接口测试报告模板(详解)
  • Linux第二次总结
  • MySQL数据库——MySQL是什么?它有什么优势?
  • 【完美走位】