另一种风格的滑动菜单 JpSpringMenu
- 授权协议: MIT
- 开发语言: Java
- 操作系统: Android
- 软件首页: https://github.com/peng8350/JPSpringMenu
- 软件文档: https://github.com/peng8350/JPSpringMenu/blob/master/README_CH.md
- 官方下载: https://github.com/peng8350/JPSpringMenu
软件介绍
类似于 AndroidResideMenu 和 SlidingMenu 这类侧滑菜单,不过最大的特点就是菜单结合了弹性的使用,打造出一种弹簧菜单的效果,效果如下:
Usage
Gradle
dependencies {
compile 'com.jpeng:jpspringmenu:$latestVersion'
}
在Activity内初始化Menu
// R.layout.view_menu 是你自定义的Menu View的资源ID SpringMenu menu = new SpringMenu(this,R.layout.view_menu); // 为菜单做各种各样的设置...
不要忘记在Activity重写dispatchTouchEvent
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return menu.dispatchTouchEvent(ev);
}
通过SpringConfig,你可以改变菜单和子布局的弹性速度和力量
// 另一种方式来构建SpringConfig是frombouncinessandspeed mSpringMenu.setMenuSpringConfig(SpringConfig.fromOrigamiTensionAndFriction(20,3)); mSpringMenu.setChildSpringConfig(SpringConfig.fromOrigamiTensionAndFriction(20, 5));
如果有滑块控件和菜单的一些冲突,你可以试试addignoreview忽略它们
mSpringMenu.addIgnoreView(...);
MenuListener可以用来监听菜单事件的变化,里面有三种回调方法:
//打开后的回调 void onMenuOpen(); //关闭后的回调 void onMenuClose(); /** * 当菜单正在被打开或者被关闭时,这个方法将会被回调(包含拖动弧度) * @value: 0f-2f,0f表示菜单关闭,2f则表示打开 * @bouncing: 这个布尔值用来判断菜单是否在反弹状态 * 当处于反弹状态时,这个值无限趋近于2f,否则就是0f */ void onProgressUpdate(float value,boolean bouncing);
剩余部分较为重要的Api
// 内容页变暗的效果 setFadeEnable(boolean); // 允许菜单开始拖动的距离 setDragOffset(float); setMenuListener(MenuListener); setDirection(int direction);
Series 60 应用程序开发
巴克 / 人民邮电出版社 / 2005-7 / 75.0
Series 60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series 60平台的授权。Series 60移动应用开发平台拥有最大的用户群,从而成为智能手机市场的代表。诺基亚与EMCC软件公司合作,为C++程序员和软件设计师编撰了这本Series 60开发的权威指南。本书由诺基亚资深专家进行了全面审阅。本书内容涉及了开发过程的各个阶段,从设计、编程、测试、调试到部署......一起来看看 《Series 60 应用程序开发》 这本书的介绍吧!
