安卓-实现阴影的几种方式
安卓实现阴影的几种方式
·
安卓-实现阴影的几种方式
第一种:安卓原生:evaluation()方式(不能设置阴影的偏移量及方向及阴影颜色);
setElevation(80.0f*getResources().getDisplayMetrics().density);
第二种:9png图片:需要自己调整9png图片,会占位,自带大小会压缩布局;
9png图片生成地址:9png
第三种:shape生成阴影:(伪阴影)一层一层的画上去
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Drop Shadow Stack -->
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#10CCCCCC" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#20CCCCCC" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#30CCCCCC" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#40CCCCCC" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#50CCCCCC" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="10dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="16dp"/>
<solid android:color="#60CCCCCC" />
</shape>
</item>
<!-- Background -->
<item>
<shape>
<solid android:color="#F2FFFFFF" />
<corners android:radius="16dp" />
<padding android:bottom="12dp"/>
</shape>
</item></layer-list>
第四种:cardView:可以设置阴影大小,圆角及偏移但是不能设置阴影颜色:自己测过不知道为啥下方没有阴影
第五种:自定义view,包括自定义drawable,shadowLayout等;网上的太多,可以自己copy
更多推荐
已为社区贡献1条内容
所有评论(0)