使用的是现有的项目的源码进行分析,它在Android原生源码之上有一些修改,主要是添加了一些功能,但整体部分仍然是原生的架构。从零开始,逐步分析。
点开Gallery,进入该程序查看图片,在手机上看到的主视图如下,
(图1)
使用Hierarchy Viewer工具查看UI布局,此时看到的布局就是Gallery框架的主界面:
(图2)
PhoneWindow$DecorView——ActionBarOverlayLayout(id/action_bar_overlay_layout)
PhoneWindow$DecorView是系统提供的框架视图,对应于屏幕上就是整块屏幕,包括顶部的状态条。所有的布局都是从这里开始,如果分析过Android的Surface框架的话,会对此有比较深刻的理解。这里不深究。
紧接下来的ActionBarOverlayLayout不同于我之前见过的大部分布局,之前见过的大部分为LinearLayout。也就是layout/main.xml中最顶层的标签<LinearLayout>,这是用户自定义布局部分的开始。但这里使用了ActionBarOverlayLayout,这是我首先想