美文网首页自定义viewAndroid开发技术分享Android知识
仿美团炫酷动效的按A-Z字母排序库

仿美团炫酷动效的按A-Z字母排序库

作者: 一枕黄粱终成梦 | 来源:发表于2017-04-25 17:16 被阅读75次

    EasySideBar

    一款按字母排序的库,已封装好城市数据,可定制化强,也可以下载源代码用Module的形式引入自己改一改来使用,也可稍做改造定制成通讯录。手指触摸选中的屏幕区域,A-Z字母会有偏移动画,防止手指遮挡住字母,很大程度上提升了交互和用户体验度。觉得还不错的话欢迎Star ~

    EasySideBar.gif

    使用步骤:

    1.添加Jcenter仓库 Gradle依赖:

    compile 'com.contrarywind:EasySideBar:1.1.0'
    

    2.在Activity中添加如下代码:

    
    //热门城市数据 ,不添加数据的时候会隐藏该布局ArrayListhotCityList = new ArrayList<>();
    
    hotCityList.add("北京");
    
    hotCityList.add("上海");
    
    hotCityList.add("广州");
    
    hotCityList.add("深圳");
    
    hotCityList.add("杭州");
    
    hotCityList.add("成都");
    
    hotCityList.add("厦门");
    
    hotCityList.add("天津");
    
    hotCityList.add("武汉");
    
    hotCityList.add("长沙");
    
    //初始化以及配置
    
    new EasySideBarBuilder(MainActivity.this)
    
    .setTitle("城市选择")
    
    /*.setIndexColor(Color.BLUE)*/
    
    .setIndexColor(0xFF0095EE)
    
    /*.isLazyRespond(true) //懒加载模式*/
    
    .setHotCityList(hotCityList)//热门城市列表
    
    .setIndexItems(mIndexItems)//索引字母
    
    .setLocationCity("广州")//定位城市
    
    .setMaxOffset(60)//索引的最大偏移量
    
    .start();
    
    

    3.在Activity中重写onActivityResult方法,接收回调数据:

    
    //resultCode 是使用封装好的EasySideBarBuilder.CODE_SIDEREQUEST
    
    @Override
    
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    
    switch (requestCode) {
    
    case EasySideBarBuilder.CODE_SIDEREQUEST:
    
    if (data!=null){
    
    String city = data.getStringExtra("selected");
    
    Toast.makeText(this,"选择的城市:"+city,Toast.LENGTH_SHORT).show();
    
    }
    
    break;
    
    default:
    
    break;
    
    }
    
    }
    
    

    GitHub项目地址: EasySideBar

    觉得还不错的话,动动手指Star一下呗,抱拳了老铁~
    实现原理可下载源代码阅读研究,有疑问之处可随时留言,有问题欢迎Call我。也非常欢迎 Pull Request、 提Issue~

    相关文章

      网友评论

        本文标题:仿美团炫酷动效的按A-Z字母排序库

        本文链接:https://www.haomeiwen.com/subject/asnvzttx.html