View 体系

编程入门 行业动态 更新时间:2024-10-20 15:47:14

View <a href=https://www.elefans.com/category/jswz/34/1769938.html style=体系"/>

View 体系

一、概念 

 

定义作用具体描述
Activity控制器

控制生命周期、处理事件

        管理视图的添加与显示(内部持有一个Window),通过回调与 Window 及 View 进行交互。

        不负责视图控制,真正控制视图的是 Window,它真正代表一个窗口,一个Activity包含一个 Window。

Window承载器承载视图的显示

        Window是一个抽象类,Activity实际持有的是其子类 PhoneWindow,PhoneWindow有一个内部类DecorView。

        通过 WindowManager 创建 DecorView  来加载 Activity 的布局,并将它交给 ViewRoot 进行视图绘制和其它交互。 

DecorView顶级ViewGroup视图树的根节点

        是 FrameLayout 的子类。内部包含一个垂直方向的 LinearLayout,上为标题栏 titlebar、下为内容栏 content。Activity通过 setContent() 设置的布局文件就是被加到内容栏中。

得到content:

ViewGroup content = (ViewGroup)findViewById(android.R.id.content);

得到设置的View:

ViewGroup rootView = (ViewGroup) content.getChildAt(0);

ViewRoot连接器链接 WindowManager 和 DecorView、完成View的绘制流程

链接作用:与 WMS 通讯,调整窗口大小及布局。

绘制流程:measure、layout、draw。

在主线程 Activity 对象被创建后,自动将 DecorView 添加到 Window 中并创建 ViewRootImpl 对象:

root = new ViewRootImpl(view.getContent(),display);

root.setView(view,wparams,panelParentView)

更多推荐

View 体系

本文发布于:2023-12-07 11:31:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1671110.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:体系   View

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!