Android之Drawerlayout——实现侧滑菜单

Drawerlayout的基本知识:

(1)设置菜单弹出方式:

android:layout_gravity = "start" 时为从左向右,android:layout_gravity = "end" 时为从右向左。


(2)ActionBarDrawerToggle

一个实现类,用于监听Drawer的拉出和隐藏事件,而我们需要覆盖其中的onDrawerOpened()和onDrawerClosed()方法。


实现方法:

(1)顶层活动的xml必须是一个DrawerLayout,紧接着是一个FrameLayout,后面是一个ListView(设置分割线不可见和菜单的弹出方式),即屏幕上面整体是一个FrameLayout,左边是一个ListView的布局。

Android之Drawerlayout——实现侧滑菜单

Android之Drawerlayout——实现侧滑菜单


(2)为侧滑菜单的每个选项创建一个Fragment及xml文件

(3)在主活动绑定相应的控件和给listview绑定适配器以及实例化ActionBarDrawerToggled的一个对象

Android之Drawerlayout——实现侧滑菜单

Android之Drawerlayout——实现侧滑菜单


在这里发现V4的ActionBarDrawerToggled的这个实例化方法过期,查谷歌API得可能要用v7包中的构造函数,


Android之Drawerlayout——实现侧滑菜单

Android之Drawerlayout——实现侧滑菜单


即要用一个toolbar控件来代替drawable资源。


(4)然后就要覆盖方法了(就是当侧滑菜单打开或关闭时的状态):

Android之Drawerlayout——实现侧滑菜单


Android之Drawerlayout——实现侧滑菜单

(5)接着为drawerlayout绑定监听器及相应的设置

Android之Drawerlayout——实现侧滑菜单

Android之Drawerlayout——实现侧滑菜单

(6)最后这两个方法是谷歌推荐加上去的:

Android之Drawerlayout——实现侧滑菜单

Android之Drawerlayout——实现侧滑菜单

(7)当然 我们可以为ListView绑定设置监听器在OnItemClick方法中更新UI

Android之Drawerlayout——实现侧滑菜单


最后,这只是我第一次用DrawerLayout的一些总结,当以后有用的次数多了再慢慢补充