安卓-实现阴影的几种方式

安卓-实现阴影的几种方式

第一种:安卓原生: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值