文章标题DrawerLayout

本文介绍了如何使用Android Support Library中的DrawerLayout控件来创建侧滑菜单效果。DrawerLayout包含侧边菜单和主内容区,侧边菜单可以通过手势操作显示或隐藏,而主内容区的内容可根据菜单选择动态更新。示例代码展示了在MainActivity中集成DrawerLayout的基本用法。
摘要由CSDN通过智能技术生成

DrawerLayout是Support Library包中实现了侧滑菜单效果的控件
drawerLayout分为侧边菜单和主内容区两部分
* 侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性
* 主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)

实现:按照drawerLayout的规定布局方式写完布局,就能有侧滑的效果


    * 1.DrawerLayout最好为界面的根布局,官网是这样说的,否则可能会出现触摸事件被屏蔽的问题;

    * 2.主内容区的布局代码要放在侧滑菜单布局的前面, 因为 XML 顺序意味着按 z 序(层叠顺序)排序,并且抽屉式导航栏必须位于内容顶部;
    * 侧滑菜单部分的布局(这里是ListView)必须设置layout_gravity属性,他表示侧滑菜单是在左边还是右边,而且如果不设置在打开关闭抽屉的时候会报错,设置了layout_gravity="start/left"的视图才会被认为是侧滑菜单
        FrameLayout主内容占位的布局
        ListView侧拉导航的布局
            * android:layout_width="240dp"侧拉的宽度
            * android:layout_gravity="start"或者left/right,,指定左侧还是右侧right,,,不设置不会打开
            * android:choiceMode="singleChoice"单选模式
            * android:background="#fff"

    * 3.listView条目点击事件
        点击事件中,可以替换fragment的显示
            * contentFragment.setArguments(args);  //让碎片携带上参数
            * getSupportFragmentManager().replace(R.id.content_frame, new NewsFragment()).commit()
            * drawLayout.closeDrawer(lv);关闭
                drawerLayout.openDrawer(Gravity.LEFT);
            * DrawerLayout.openDrawer方法用于展开侧边菜单

    * 4.drawLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        onDrawerStateChanged(int arg0)
            * 当 Drawer 状态发生变化时调用函数,
            * drawer 有 3 种状态:
                 idle -- 表示与导航视图没有交互,静止
                 dragging -- 表示目前有与导航视图的交互,拖拽的状态
                 settling -- 表示有与导航视图的交互,并且导航视图正在关闭或打开
        onDrawerSlide(View arg0, float arg1)
            * 与导航视图交互时调用函数
        onDrawerOpened(View arg0)
            * 导航视图打开时调用函数
        onDrawerClo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值