首先我们在studio中创建工程的时候,选择activity时选择DrawerActivity。这样编辑器会自动给你创建完成一套demo。
首先,解析对应的activity:
第一:activity继承自AppCompatActivity实现NavgitionView.OnNevigationItemSelectedLisenter(侧滑
菜单部分的item项的选中监听)。
第二:这是activity对应的主布局。NavigationView对应如图所示:
第三:NavigationView中包含两个部分:上面的绿色的部分,和下面的菜单项是分开的菜单项:
让我们仔细看NavigationView的两个属性:一个是headLayout,一个是menu。很显然:headLayout对应绿色部分,menu对应下面的菜单。然后我们在看:在NavegationView除外的部分:
include里面包含的是:一个layout,我们在看layout当中是指向谁:
点了进去我们可以看到:截图如下:
如此可以看到:这里是如NavigationView之外的部分。这里的布局其实就是除了ToolBar和下面
的邮件图标意外的部分。这里就是自己可以自定义其他控件的部分。
总结:DrawerLayout就相当于一个侧滑菜单,是官方一个模仿之后封装模块化的一套控件而已。
一个主布局:DrawerLayout,他包含了两个部分:NavigationView,include一个布局。NavigationView
又分为两个部分:上部headLayout,下部menu。
Include的布局:官方的控件android.support.design.widget.CoordinatorLayout
子布局:首先一个ToolBar,然后include一个布局(自定义样式)。下部是一个邮件图标。
主布局最外层:DrawerLayout。然后我们可以吧NavigationView换成listView照样是可以的。
然后在include一个布局,里面放一个Toolsbar如此而已。