android 自定义阴影 ShadowView

释放双眼,带上耳机,听听看~!

写这个控件的目的


有一次, 在我的工作当中遇到了这样的一个需求,要实现阴影的效果,需求图如下:

 

1575124907172.jpg

其实粗略一看,要实现这个阴影 用cardView, 但是当我用了cardView 实现后 满足不了产品的要求,cardView实现 的阴影太黑,不够温柔,网上找的也满足不了自己的需求。于是自己花了点时间实现了一下。

使用方式


在根目录的build.gradle 引入maven

maven { url 'https://dl.bintray.com/richzjc/maven' }

在module的 dependencies下面添加

implementation 'com.richzjc:ShadowLib:1.0.15'

注意: 当前控件包裹的子控件只能有一个

示例

<com.richzjc.shadowlib.MyShadowLayout
android:layout_width="wrap_content"
android:layout_height="200dp"
android:background="#000"
android:paddingLeft="10dp"
app:hl_shadowRadius="30dp"
app:hl_cardCornerRadius="10dp"
app:hl_shadowSolidColor="#123456"
app:hl_bottomShow="true"
app:hl_topShow="true"
app:hl_rightShow="true"
>
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f00" />
</com.richzjc.shadowlib.MyShadowLayout>

控件属性介绍


<declare-styleable name="ShadowLayout">
<attr name="hl_topShow" format="boolean" />
<attr name="hl_bottomShow" format="boolean" />
<attr name="hl_leftShow" format="boolean" />
<attr name="hl_rightShow" format="boolean" />
<attr name="hl_shadowRadius" format="dimension"/>
<attr name="hl_cardCornerRadius" format="dimension"/>
<attr name="hl_shadowColor" format="color|reference"/>
<attr name="hl_shadowSolidColor" format="color|reference"/>
</declare-styleable>

hl_topShow: 是否显示上阴影
hl_bottomShow: 是否显示下阴影
hl_leftShow: 是否显示左阴影
hl_rightShow: 是否显示右阴影
hl_shadowRadius: 阴影的宽度
hl_cardCornorRadius: 圆角
hl_shadowColor: 阴影的颜色值
hl_shadowSolidColor: 基本上用不到

效果图


貌似 上传上来的效果图 阴影看着不是很明显, 可以下载github的项目 在真机上面查看

WechatIMG262.png
WechatIMG261.png

其它情况的效果图请下载项目自己修改属性运行后查看

github地址

公众号:

qrcode_for_gh_c78cd816dc53_344.jpg

人已赞赏
Android文章

android基本动画效果使用(四种)

2020-2-23 14:55:34

Android文章

Android圆角ViewGrup/View库(可加边框),妈妈再也不用担心设计圆角了!

2020-2-23 20:10:37

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索