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=true3. 无法直接运行
(一):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
转载于:https://www.cnblogs.com/hoosway/p/4997032.html
相关资源:JAVA上百实例源码以及开源项目