主要观点总结
本文主要讨论了App端Insets的相关源码,包括Insets的定义、来源、分发过程以及相关的源码分析。Insets描述的是显示屏幕上的一些矩形区域,这些区域是系统UI所在的区域,常见的有StatusBar、NavigationBar、IME等。App端需要关注Insets是因为Activity的显示区域可能会和Insets重叠。源码中Insets类用于描述一个Insets对象,包括left、top、right、bottom四个属性。文章还探讨了Insets的来源,以及App如何获取和使用Insets。此外,还介绍了InsetsState和InsetsSourceControl的分发过程,以及dispatchApplyInsets和onControlsChanged方法的实现。最后,给出了相关类的类图。
关键观点总结
关键观点1: Insets的定义和来源
Insets描述的是显示屏幕上的一些矩形区域,这些区域是系统UI所在的区域,如StatusBar、NavigationBar、IME等。App端需要关注Insets是因为Activity的显示区域可能会和Insets重叠。
关键观点2: Insets的源码分析
源码中Insets类用于描述一个Insets对象,包括left、top、right、bottom四个属性。文章还探讨了Insets的来源,以及App如何获取和使用Insets。
关键观点3: InsetsState和InsetsSourceControl的分发过程
InsetsState保存了系统中所有的Insets的状态/信息,通过dispatchApplyInsets方法分发Insets给View。InsetsSourceControl用于控制Insets的显示与隐藏,通过onControlsChanged方法分发InsetsSourceControl。
关键观点4: dispatchApplyInsets和onControlsChanged方法的实现
dispatchApplyInsets方法用于计算Insets并分发给View,onControlsChanged方法用于分发InsetsSourceControl。
免责声明
免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。
原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过
【版权申诉通道】联系我们处理。