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

精通Windows应用开发

精通Windows应用开发

[美] Jesse Liberty Philip Japikse Jon Galloway / 苏宝龙 / 人民邮电出版社 / 59.00元

Windows 8.1的出现不仅提供了跨设备的用户体验,也提供了跨设备的开发体验。本书着眼于实际项目中所需要的特性,以及现有C#编程知识的运用,对如何最大限度地利用Metro、WinRT和Windows 8进行了讲解,内容详尽,注重理论学习与实践开发的配合。 Windows 8.1和WinRT的作用及其特殊性 如何使用先进特性创建具有沉浸感和吸引力的Windows 8.1应用 如......一起来看看 《精通Windows应用开发》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具