布局文件代码
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<!-- The navigation view -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffcc"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" >
</ListView>
</android.support.v4.widget.DrawerLayout>
其中的FrameLayout为主显示的界面,ListView为菜单页面;当ListView中的属性layout_gravity=“start”时,菜单会在左边显示,当ListView中的属性layout_gravity=“end”时,菜单会在右边显示
监听抽屉打开和关闭的事件
要监听抽屉打开和关闭的事件,需要调用该方法:mDrawerLayout.setDrawerListener(DrawerLayout.DrawerListener);因为ActionBarDrawerToggle这个类实现了DrawerLayout.DrawerListener该接口,所以可以通过创建ActionBarDrawerToggle类来实现事件的监听。
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, R.string.drawer_open,R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);