AndroidSweetSheet 1.1版本

作者: 轻微 | 来源:发表于2015-08-07 04:43 被阅读1379次

一个富有动感的Sheet(选择器)
github
Android Arsenal
Android Gems
简书
我的新浪

先发两张图:


原型.GIF 效果图.gif

gradle

/build.gradle

jitpack.io

repositories {
    maven {
        url "https://jitpack.io"
    }
}

/app/build.gradle

compile compile 'com.github.zzz40500:AndroidSweetSheet:1.1.0''

Usage:

MainActivity.class


// SweetSheet 控件,根据 rl 确认位置
mSweetSheet = new SweetSheet(rl);

//设置数据源 (数据源支持设置 list 数组,也支持从menu 资源中获取)
mSweetSheet.setMenuList(list);
//根据设置不同的 Delegate 来显示不同的风格.
mSweetSheet.setDelegate(new RecyclerViewDelegate(true));
//根据设置不同Effect来设置背景效果:BlurEffect 模糊效果.DimEffect 变暗效果,NoneEffect 没有效果.
mSweetSheet.setBackgroundEffect(new BlurEffect(8));
//设置菜单点击事件
mSweetSheet.setOnMenuItemClickListener(new SweetSheet.OnMenuItemClickListener() {
    @Override
    public boolean onItemClick(int position, MenuEntity menuEntity1) {

        //根据返回值, true 会关闭 SweetSheet ,false 则不会.
        Toast.makeText(MainActivity.this, menuEntity1.title + "  " + position, Toast.LENGTH_SHORT).show();
        return true;
    }
});

自定义扩展:


// SweetSheet 控件,根据 rl 确认位置
mSweetSheet3 = new SweetSheet(rl);
//定义一个 CustomDelegate 的 Delegate ,并且设置它的出现动画.
CustomDelegate customDelegate = new CustomDelegate(true,
        CustomDelegate.AnimationType.DuangLayoutAnimation);
View view = LayoutInflater.from(this).inflate(R.layout.layout_custom_view, null, false);
//设置自定义视图.
customDelegate.setCustomView(view);
//设置代理类
mSweetSheet3.setDelegate(customDelegate);
//因为使用了 CustomDelegate 所以mSweetSheet3中的 setMenuList和setOnMenuItemClickListener就没有效果了
view.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mSweetSheet3.dismiss();
    }
});

监听返回

    @Override
    public void onBackPressed() {
 
        if(mSweetSheet.isShow()){
            mSweetSheet.dismiss();
        } else{
            super.onBackPressed();
        }
    }

v1.1(版本说明)

  1. 去掉之前ViewPager 使用FragmentStatePagerAdapter 做为它的适配器.
  • SweetSheet 不支持 LinearLayout 作为它的父控件.

  • setMenuList 设置数据源支持从 List<MenuEntity>数组和Menu资源的填充.(Menu仅支持一级Menu,因为2级Menu我还没想好怎么展示).

  • setBackgroundEffect(Effect effect) 提供对背景效果的支持,目前提供3种风格:
    BlurEffect:模糊效果,DimEffect 变暗效果,NoneEffect 没有效果.
    你也可以继承Effect扩展背景的效果

  • setDelegate 目前提供了三种风格
    RecyclerViewDelegate,ViewPagerDelegate,CustomDelegate.

  • CustomDelegate用于扩展类,你可以使用通过构造方法指定出现动画,通过setCustomView(View v)来设置你的自定义的布局.

  • CustomDelegate中提供了4种类型:
    DuangLayoutAnimation,DuangAnimation,
    AlphaAnimation,Custom:
    看名字大概就能知道它是什么效果.如果你对前3个效果不满意你就使用 Custom ,然后通过setCustomViewAnimation设置出现效果.

  • CRImageView 内部实现了 Android 5.0上面的CircleReveal效果.使用方法:CRImageView. circularReveal(int centerX, int centerY, float startRadius, float endRadius, long duration, Interpolator interpolator)你可以在你的项目中用上它.

FAQ

怎么使包括 actionBar 在内的背景也虚化?
使用 一个 FrameLayout或者RelativeLayout 里面用 ToolBar 来替代 ActionBar ,然后将这个 FrameLayout 或者RelativeLayout作为SweetSheet 的父控件,

相关文章

  • AndroidSweetSheet 1.1版本

    一个富有动感的Sheet(选择器)githubAndroid ArsenalAndroid Gems简书我的新浪 ...

  • Git-第一章节-介绍

    介绍 1.1 版本控制1.2 历史1.3 基础1.4 安装1.5 配置 1.1 版本控制 1.1.1 概述: 版本...

  • 上进远程更新

    【版本】1.1【版本】 【链接】【链接】 【更新】【更新】

  • 远程更新

    【版本】1.1【版本】 【链接】【链接】 【更新】慌慌吖【更新】

  • 小滕VIP解析1.1更新公告

    版本判断1.1版本判断 截取内容软件名称:小滕vip解析【换行】软件版本:1.1【换行】软件大小:2.46MB【换...

  • 小滕vip解析2

    版本判断1.1版本判断 截取内容软件名称:小滕vip解析【换行】软件版本:1.1【换行】软件大小:2.46MB【换...

  • 小滕vip解析

    版本判断1.1版本判断 截取内容软件名称:小滕vip解析【换行】软件版本:1.1【换行】软件大小:2.46MB【换...

  • 金乌科技网声明

    版本判断1.1版本判断 截取内容软件名称:金烏代刷网【换行】软件版本:1.1【换行】软件大小:未知【换行】发布时间...

  • uug

    版本【1.1】版本,链接〖https://xuanbing.wodemo.com/down/20180325/47...

  • ceph学习(三) 离线安装ceph_10.9

    一. 准备工作 1.1 环境: linux版本: ceph 版本:10.2.9 ceph-deploy 版本: 1...

网友评论

    本文标题:AndroidSweetSheet 1.1版本

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