1 Star 1 Fork 0

Mosect / ARecyclerShadow

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ARecyclerShadow

Android RecyclerView阴影实现,基于AShadow2实现

跨Item显示阴影

单个Item显示阴影

使用

在项目根节点的build.gradle中配置:

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

在需要引入的项目build.gradle中添加

implementation 'com.github.Mosect:ARecyclerShadow:1.0.1'

更新记录

1.0.0

  • LinerRoundShadow:线性布局,跨Item显示阴影
  • ShadowItemDecoration:单个Item显示阴影
  • SingleItemShadow:所有Item都使用同一个阴影显示

说明:

ShadowItemDecoration

实现阴影显示的ItemDecoration,抽象类,需要实现getShadowKey方法,为Item提供一种阴影

SingleItemShadow

继承于ShadowItemDecoration,如果整个RecyclerView的Item都使用一种阴影,可以使用此类对象为RecyclerView的Item显示阴影

// 创建阴影key
RoundShadow.Key shadowKey = new RoundShadow.Key();
shadowKey.solidColor = Color.parseColor("#ffffff");
shadowKey.shadowColor = Color.parseColor("#0d000000");
shadowKey.shadowRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10,
        getResources().getDisplayMetrics());
shadowKey.radii = new float[8];
float round = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10,
        getResources().getDisplayMetrics());
Arrays.fill(shadowKey.radii, round);
// 创建item的阴影渲染器
SingleItemShadow itemShadow = new SingleItemShadow(shadowKey);
// 往RecyclerView添加渲染器
recyclerView.addItemDecoration(itemShadow);

LinerRoundShadow

实现跨Item实现阴影的ItemDecoration,仅支持LinearLayoutManager布局。可以往LinerRoundShadow添加多个块(Block),每块都代表一个阴影,添加代码如下:

// 创建块阴影渲染器
LinerRoundShadow shadow = new LinerRoundShadow();
// 产生块阴影
LinearRoundShadow.Block block = shadow.block();
// 设置块位置
block.setStart(start).setEnd(end);
// 产生阴影key
RoundShadow.Key key = new RoundShadow.Key();
// 阴影圆角
float round = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10,
        getResources().getDisplayMetrics());
key.radii = new float[8];
Arrays.fill(key.radii, round);
// 阴影填充色
key.solidColor = Color.parseColor("#ffffff");
// 阴影半径
key.shadowRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5,
        getResources().getDisplayMetrics());
// 阴影颜色
key.shadowColor = Color.parseColor("#0d000000");
// 将阴影信息设置到块阴影信息中
block.setShadowKey(key);

// 往RecyclerView添加渲染器
recyclerView.addItemDecoration(shadow);

如果Adapter的数据发生更改,LinerRoundShadow中块信息也需要更新,此时可以调用LinerRoundShadow.clearBlock方法清空之后再添加合适的块。

AShadow2

点这里可以查看AShadow2用法

联系信息

QQ:905340954
邮箱:zhouliuyang1995@163.com
网站:http://www.mosect.com (建设中)

空文件

简介

RecyclerView item阴影,包括单个item阴影和垮Item的阴影 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/mosect/ARecyclerShadow.git
git@gitee.com:mosect/ARecyclerShadow.git
mosect
ARecyclerShadow
ARecyclerShadow
master

搜索帮助