首页 > 编程知识 正文

android自定义view的三大流程(android自定义view面试)

时间:2023-05-04 15:00:39 阅读:65425 作者:1473

前提:开发安卓以来,关于定制视图,也是半瓶装醋——闲逛的状态。 说不会吧,也可以摸索着制作视图,说会吧,一个也说不出来,所以不行。 即使打算从头开始学习,实践理论,没有达到完全精通的状态,至少在看到需求和用户界面时,不会出现无意义的反感和脱口而出“无法实现”的情况。

在开始学习自定义视图之前,请了解安卓视图级别的关系。 据了解,Android的视图大致可以分为活动、电话窗口、解码器视图、视图组和视图。 他们之间的层次关系是什么?

试着从源代码的角度分析一下。 (闲话少说,读源代码对我来说也是个难点,没有清晰的思路可以读完源代码。 )

创建新的Activity后,必须调用setContentView ()方法完成接口的显示。 现在,让我们进入activity的setContentView ()方法。

getWindow ().setContentView ) )的方法,因此请转至该getWindow ) )的方法

你可以看到从return里传出了mWindow,这个mWindow是怎么来的呢? 在activity的源代码中,可以看到attach (方法的mWindow是实例的PhoneWindow

也就是说,Activity的setContentView ()实际上调用了PhoneWindow的setContentView ) )方法,所以这里只讨论层次关系,不考虑如何实现) settview

单击此方法可以看到名为mDecor的参数

此mDecor是定义的DecorView

进入解码器视图时,您会看到它是从帧布局(典型的视图组)继承的

到目前为止,这些不同类型的视图之间的层次关系基本上很清楚。 从最外层到最内层,这就是活动电话窗口解码器视图视图组/视图。 下图

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。