其实可以把 drawerLayout 放到对话框中,这样就可以在任意位置打开侧滑抽屉界面了,不必嵌套在主界面之内。缺点是这样的抽屉关闭后无法再滑动打开,只能通过点击菜单/按钮来打开,不过自从安卓出全面屏手势后,这个缺点也就不算缺点了。
于是我们至少有了三种对话框:
如下是我写的笔记列表界面,可以在任意位置打开:

DrawerLayout 写法,xml 中任意视图中指定 layout_gravity 为Start/End即可,不必用不太灵活的 fragment。 DrawerLayout 会在 addview 中检测每一个子视图(isDrawerView)。
DrawerLayout 解决嵌套列表时滑动冲突:DrawerLayout与ListView滑动冲突
修复 “must be measured with MeasureSpec.EXACTLY” BUG:布局使用DrawerLayout ,出现DrawerLayout must be measured with MeasureSpec.EXACTLY.异常