zoukankan      html  css  js  c++  java
  • DrawerLayout—侧拉栏的使用

    关于布局:
    1.使用DrawerLayout控件前需添加依赖com.android.support:design:24.2.1


    2.由<android.support.v4.widget.DrawerLayout/>控件包裹整体布局

    3.侧拉栏布局由<android.support.design.widget.NavigationView/>包裹
    注意事项:
    1)此布局需放在主布局下方
    2)指定滑动位置 例:android:layout_gravity="left"
    3)添加侧滑布局中的头部布局 app:headerLayout="@layout/header"
    4)添加侧滑布局中的菜单条目 app:menu="@menu/menuview"
    5)菜单条目中用<group android:checkableBehavior="single"></group>包裹

    4.结合toolbar内容,创建主布局
     

    关于Activity:
    1)初始化DrawerLayout控件

    2)开启侧滑 参数为滑动方向
    activityMain.openDrawer(Gravity.LEFT);

    3)判断侧滑栏状态
    boolean drawerOpen = activityMain.isDrawerOpen(Gravity.LEFT);
           if(drawerOpen){
                Toast.makeText(this,"菜单栏关闭了",Toast.LENGTH_SHORT).show();
           }else{
                Toast.makeText(this,"菜单栏打开了",Toast.LENGTH_SHORT).show();
        }

    4)侧滑的监听 activityMain.addDrawerListener(new DrawerLayout.DrawerListener() {
    ①当滑动时的监听
            public void onDrawerSlide(View drawerView, float slideOffset) {
                Toast.makeText(MainActivity.this,"侧滑正在改变中",Toast.LENGTH_SHORT).show();
            }
    ②完全打开侧滑的监听
            public void onDrawerOpened(View drawerView) {
                Toast.makeText(MainActivity.this,"已完全打开侧滑",Toast.LENGTH_SHORT).show();
            }
    ③完全关闭侧滑的监听
            public void onDrawerClosed(View drawerView) {
                Toast.makeText(MainActivity.this,"已完全关闭侧滑",Toast.LENGTH_SHORT).show();
            }
    ④当状态发生改变地的监听
            public void onDrawerStateChanged(int newState) {
                if(newState==DrawerLayout.STATE_IDLE){//空闲状态
                    Toast.makeText(MainActivity.this,"空闲状态",Toast.LENGTH_SHORT).show();
                  }else if(newState==DrawerLayout.STATE_DRAGGING){//拖动状态
                    Toast.makeText(MainActivity.this,"拖动状态",Toast.LENGTH_SHORT).show();
                  }else if(newState==DrawerLayout.STATE_SETTLING) {//固定状态
                    Toast.makeText(MainActivity.this,"固定状态",Toast.LENGTH_SHORT).show();
                    }
                }
            });
     
    5)侧滑menu的监听
    navigationView.setNavigationItemSelectedListener(newNavigationView.OnNavigationItemSelectedListener() {

    6)点击菜单元素退出侧滑菜单栏(可在监听事件中编写)
     drawerLayout.closeDrawer(Gravity.LEFT);
     
    7)点击某条目改为选中状态
    item.setChecked(true);
  • 相关阅读:
    工厂模式简介
    设计模式
    idea的安装与配置及基本用法
    软件架构设计的七大原则
    C#设计模式开启闯关之路
    基础知识详解系列目录
    .Net Core2.2 使用 AutoMapper进行实体转换
    通俗易懂设计模式解析——解释器模式
    通俗易懂设计模式解析——备忘录模式
    通俗易懂设计模式解析——访问者模式
  • 原文地址:https://www.cnblogs.com/livelihood/p/6758722.html
Copyright © 2011-2022 走看看