zoukankan      html  css  js  c++  java
  • 如鹏网仿QQ侧滑菜单:ResideMenu组件的使用笔记整理+Demo

    ResideMenu菜单 课堂笔记:

    https://github.com/SpecialCyCi/AndroidResideMenu

    Github:如何使用开源组件
    1. 下载
    下载方式:
    1. 项目首页右下角"Download ZIP"按钮
    2. 安装Git,git clone:git地址
    2. 将组建自己的工程在同一个目录下
    3. 附加类库,建立依赖
    (其他比较好的开源组件: ArcMenu SlidingMenu PullRefreshListView )
    ArcMenu:https://github.com/daCapricorn/ArcMenu
    SlidingMenu:https://github.com/jfeinstein10/SlidingMenu
    PullRefreshListView:https://github.com/johannilsson/android-pulltorefresh

    Android平台下非常常见的三种菜单组件:
    Sildingmenu :https://github.com/jfeinstein10/SlidingMenu
    DrawerLayout
    Residemenu:https://github.com/SpecialCyCi/AndroidResideMenu

    附加第三方类库的过程:
    1. 右键点击自己的工程
    2. 选择“Properties“
    3. 在”Properties“的Android选项卡中 add ,选择类库;
    (建立依赖的过程就是:关联依赖后,在androi depen... 先多了一个jar)

    类库工程和普通工程的区别:
    1. 清单文件只有minSDK,没有Activity等组件
    2. project.properties 文件中含: isLibrary=true
    3. 无法直接运行


    (一):ResideMenu开源组件基本用法:

    1.创建对象
    ResileMenu menu = new ResideMenu(this);

    2.设置
    设置背景图片:menu.setBackground(R.drawable.menu_background);
    设置缩放度:menu.setScalarValue(); // 参数:float类型:0.0 ~ 1.0之间,表示缩放程度,建议:0.6f,默认0.5f


    3. 将menu对象附加到Activity:menu.attachToActivity(MainActivity.this);
    // 注意:这句代码必须在创建 ResideMenuItem之前执行

    4. 创建ResideMenuItem对象,并添加到menu中:
    // 左侧
    ResideMenuItem item1 = new ResideMenuItem(this, R.drawable.icon_home, "首页");
    menu.addMenuItem(item1, ResideMenu.DIRECTION_LEFT);

    ResideMenuItem item2 = new ResideMenuItem(this, R.drawable.icon_calendar, "日历");
    menu.addMenuItem(item2, ResideMenu.DIRECTION_LEFT);

    // 右侧
    ResideMenuItem item3 = new ResideMenuItem(this, R.drawable.icon_profile, "个人信息");
    menu.addMenuItem(item3, ResideMenu.DIRECTION_RIGHT);

    ResideMenuItem item4 = new ResideMenuItem(this, R.drawable.icon_settings, "设置");
    menu.addMenuItem(item4, ResideMenu.DIRECTION_RIGHT);

    5. 绑定按钮点击事件:
    menu.openMenu(directory) //打开菜单,参数:ResideMenu.DIRECTION_RIGHT 或者 ResideMenu.DIRECTION_LEFT


    (二):自定义侧边布局

    步骤:
    1. 新建布局文件 @layout/layout_menu_left.xml (以左侧布局为例,右侧同理)
    注意:
    1. 布局文件必须是全透明(设置根布局的属性android:background:#00000000)
    2. 根布局文件最好设置为宽度150dp(设置属性:android:layout_width="150dip")
    3. 只需要左侧布局,禁用右侧布局的方法:三个层次:
    1. 构造方法传递-1(用户还是可以通过滑动和执行openMenu方法的按钮打开)
    2. 设置 menu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT);,用户不能滑动打开,但是可以通过按钮打开
    3. 取消打开右侧布局的事件


    2. ResideMenu menu = new Resimenu(this, R.layout.layout_menu_left, -1);
    // 第一个参数:上下文
    // 第二个参数:布局文件的ResourceId (没有就传-1)
    // 第三个参数:布局文件的ResourceId (没有就传-1)
    3. 设置背景图片:menu.setBackground(R.drawable.menu_background);
    4. 设置缩放度:menu.setScaleValue(0.6f);


    ResideMenu的其他方法补充:
    1. menu.setUse3D(true); // 实现3D效果
    2. closeMenu(); // 关闭菜单,没有指定方向,哪一侧开启就关闭那一侧
    3. 解决ResideMenu和Activity已有的可滑动组件冲突的解决方法:
    重写Activity的dispatchTouchEvent方法
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
    // TODO Auto-generated method stub
    return menu.dispatchTouchEvent(ev);
    }

    // 附:如果需要知道原理,请参加如鹏网的培训课程

    4. 给侧边栏的菜单按钮设置点击事件:
    menu.getLeftMenuView(); // 可以获取的对应布局的View

     

    Demo 下载地址:http://pan.baidu.com/s/1c00Vgkw

  • 相关阅读:
    暗时间:学习的精神和方法
    林布蘭
    魯本斯
    維梅爾
    哈爾斯.法蘭斯
    SAFEARRAY使用方法示例
    范戴克
    100个经典错别字
    在CPP中调用Jscript中的函数
    生活在真空中的程序员
  • 原文地址:https://www.cnblogs.com/hoosway/p/4997032.html
Copyright © 2011-2022 走看看