美文网首页Android 技术收集androidAndroid 文章
android shape/layer-list实现渐变阴影效果

android shape/layer-list实现渐变阴影效果

作者: android_haihong | 来源:发表于2019-02-22 21:35 被阅读430次

    网上看到挺多用shape实现阴影效果的,感觉都是只是有淡淡的黑边,效果不咋的
    真正想要的是那种阴影,类似于有毛边或者说有点模糊的感觉那种

    知识点:
    layer-list : 简单来说layer-list就是图层列表的意思,是用来创建LayerDrawable的,LayerDrawable是DrawableResource的一种,所以,layer-list创建出来的是"图层列表",也就是一个drawable图形
    shape:这个老哥说的挺仔细的(https://www.jianshu.com/p/d97fcdde1fc6)

    上效果:


    image.png

    直接在drawable文件夹下面创建文件夹gradual.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <padding
                    android:bottom="3dp"
                    android:left="3dp"
                    android:right="3dp"
                    android:top="3dp" />
                <solid android:color="#0DCCCCCC" />
                <corners android:radius="10dp" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <padding
                    android:bottom="3dp"
                    android:left="3dp"
                    android:right="3dp"
                    android:top="3dp" />
                <solid android:color="#10CCCCCC" />
                <corners android:radius="10dp" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <padding
                    android:bottom="3dp"
                    android:left="3dp"
                    android:right="3dp"
                    android:top="3dp" />
                <solid android:color="#15CCCCCC" />
                <corners android:radius="10dp" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <padding
                    android:bottom="3dp"
                    android:left="3dp"
                    android:right="3dp"
                    android:top="3dp" />
                <solid android:color="#20CCCCCC" />
                <corners android:radius="10dp" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <padding
                    android:bottom="3dp"
                    android:left="3dp"
                    android:right="3dp"
                    android:top="3dp" />
                <solid android:color="#30CCCCCC" />
                <corners android:radius="10dp" />
            </shape>
        </item>
        <item>
            <shape>
                <solid android:color="#FFFFFF" />
                <corners android:radius="6dp" />
            </shape>
        </item>
    </layer-list>
    

    在上面代码大概可以理解到,就是用若干个渐浅色的图层叠加在一起,实现渐变的阴影效果,想要效果更好可以把间隔缩小,图层再增加几个就可以了,我觉得上面代码效果就挺好的了,刚好

    相关文章

      网友评论

        本文标题:android shape/layer-list实现渐变阴影效果

        本文链接:https://www.haomeiwen.com/subject/aseyyqtx.html