Android 四种阴影实现方式对比
优点 随意调整 效果立即可见,快速实现。
缺点 自带大小会压缩布局;如果布局内有图片,容易被图片覆盖阴影
https://inloop.github.io/shadow4android/
2 shape生成阴影<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:state_pressed="true"><layer-list><itemandroid:left="4dp"android:top="4dp"><shape><solidandroid:color="#ff58bb52"/><cornersandroid:radius="30dip"/></shape></item></layer-list></item><item><layer-list><!--SHADOWLAYER--><itemandroid:left="4dp"android:top="4dp"><shape><solidandroid:color="#66000000"/><cornersandroid:radius="30dip"/></shape></item><!--CONTENTLAYER--><itemandroid:bottom="4dp"android:right="4dp"><shape><solidandroid:color="#ff58bb52"/><cornersandroid:radius="30dip"/></shape></item></layer-list></item></selector>
优点:不影响布局,灵活使用
缺点:难以调整效果,不够直观
android.support.v7.cardview
直接套在item外即可形成硬朗的卡片阴影效果,参数也可以调整。
app:cardBackgroundColor 设置背景颜色
app:cardCornerRadius 设置圆角大小
app:cardElevation 设置z轴的阴影
app:cardMaxElevation 设置z轴的最大高度值
app:cardUseCompatPadding是否使用CompatPadding
app:cardPreventCornerOverlap是否使用PreventCornerOverlap
app:contentPadding 设置内容的padding
app:contentPaddingLeft 设置内容的左padding
app:contentPaddingTop 设置内容的上padding
app:contentPaddingRight 设置内容的右padding
app:contentPaddingBottom 设置内容的底padding
优点:使用方便,md风格。
缺点:参数调整麻烦,需要重新编译;5.0以下系统效果受影响。
https://github.com/Devlight/ShadowLayout
优点:使用后会给所有子布局包括文字加上阴影,效果可以preview,
缺点:无法单独给多层布局最外层加阴影;引入了新的库占据资源;需要耐心调整
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。