Android开发:DrawerLayout结构分析

首先我们在studio中创建工程的时候,选择activity时选择DrawerActivity。这样编辑器会自动给你创建完成一套demo

首先,解析对应的activity

第一:activity继承自AppCompatActivity实现NavgitionView.OnNevigationItemSelectedLisenter(侧滑

菜单部分的item项的选中监听)。

Android开发:DrawerLayout结构分析_第1张图片

第二:这是activity对应的主布局。NavigationView对应如图所示:

Android开发:DrawerLayout结构分析_第2张图片

第三:NavigationView中包含两个部分:上面的绿色的部分,和下面的菜单项是分开的菜单项:


让我们仔细看NavigationView的两个属性:一个是headLayout,一个是menu。很显然:headLayout对应绿色部分,menu对应下面的菜单。然后我们在看:在NavegationView除外的部分:

Android开发:DrawerLayout结构分析_第3张图片

include里面包含的是:一个layout,我们在看layout当中是指向谁:

Android开发:DrawerLayout结构分析_第4张图片

点了进去我们可以看到:截图如下:

Android开发:DrawerLayout结构分析_第5张图片

如此可以看到:这里是如NavigationView之外的部分。这里的布局其实就是除了ToolBar和下面

的邮件图标意外的部分。这里就是自己可以自定义其他控件的部分。

 总结:DrawerLayout就相当于一个侧滑菜单,是官方一个模仿之后封装模块化的一套控件而已。

一个主布局:DrawerLayout,他包含了两个部分:NavigationViewinclude一个布局。NavigationView

又分为两个部分:上部headLayout,下部menu


Include的布局:官方的控件android.support.design.widget.CoordinatorLayout

子布局:首先一个ToolBar,然后include一个布局(自定义样式)。下部是一个邮件图标。

主布局最外层:DrawerLayout。然后我们可以吧NavigationView换成listView照样是可以的。

然后在include一个布局,里面放一个Toolsbar如此而已。

你可能感兴趣的:(Android开发)