DrawerLayout抽屉
DrawerLayout的简单使用
实现效果如下:
上述分别是左抽屉跟右抽屉。
1.创建布局文件
DrawerLayout 里面有最多有三个节点(子布局)
分别是主内容、左抽屉内容、右抽屉内容。
代码如下:
<android.support.v4.widget.DrawerLayout>
<FrameLayout>
//这里是主布局
</FrameLayout>
<RelativeLayout
android:layout_gravity="left">
//这里是左抽屉
</RelativeLayout>
<RelativeLayout
android:layout_gravity="right">
//这里是右抽屉
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
通过layout_gravity属性设置是左抽屉(start、left)还是右抽屉(end、right)。
2.在MainActivity中 获取两个抽屉id,然后获取其子view
假设左抽屉里面有个TextView,我们可以这样获取。
private RelativeLayout rlLeft;
private DrawerLayout drawerLayout;
protected void onCreate(Bundle savedInstanceState) {
rlLeft=(RelativeLayout) findViewById(R.id.rlLeft);
TextView tv = (TextView)rlLeft.findViewById(R.id.tv);
}
DrawerLayout的相关方法、监听器
方法:
openDrawer(ViewGroup) 打开抽屉,参数是layout,例如上面的rlLeft。
closeDrawer(ViewGroup) 关闭抽屉。
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);关闭滑动
监听器:
setDrawerListener 其内部方法有onDrawerSlide、onDrawerOpened、onDrawerClosed、onDrawerStateChanged
进阶:
可以跟ActionBar连用。