另一种风格的滑动菜单 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);

本文地址:https://codercto.com/soft/d/8813.html

高性能网站建设进阶指南

高性能网站建设进阶指南

Steve Souders / 口碑网前端团队 / 电子工业出版社 / 2010年4月 / 49.80元

性能是任何一个网站成功的关键,然而,如今日益丰富的内容和大量使用Ajax的Web应用程序已迫使浏览器达到其处理能力的极限。Steve Souders是Google Web性能布道者和前Yahoo!首席性能工程师,他在本书中提供了宝贵的技术来帮助你优化网站性能。 Souders的上一本畅销书《高性能网站建设指南》(High Performance Web Sites)震惊了Web开发界,它揭示......一起来看看 《高性能网站建设进阶指南》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具