自定义带阴影的shape

来源:互联网 发布:淘宝网店手机拍照 编辑:程序博客网 时间:2024/05/17 01:56

翻译:Shadow effect with custom shapes

使用自定义Shape很容易就能给视图增加一个阴影。
方法是首先生成一个背景阴影层,然后内容层放在上面。
但是你还需要按顺序显示它们来生成阴影效果。

例如:

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item>        <layer-list>            <item android:right="4dp" android:bottom="4dp">                <!-- SHADOW LAYER -->            </item>            <item android:left="4dp" android:top="4dp">                <!-- CONTENT LAYER-->            </item>        </layer-list>    </item></selector>

你可以控制阴影的方向并通过上下左右参数设置偏移量。
这里写图片描述

这是我们的应用WhoSaid中的一个例子:
这里写图片描述

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true">        <layer-list>            <item android:left="4dp" android:top="4dp">                <shape>                    <solid android:color="#ff58bb52" />                    <corners android:radius="30dip"/>                </shape>            </item>        </layer-list>    </item>    <item>        <layer-list>            <!-- SHADOW LAYER -->            <item android:left="4dp" android:top="4dp">                <shape>                    <solid android:color="#66000000" />                    <corners android:radius="30dip"/>                </shape>            </item>            <!-- CONTENT LAYER -->            <item android:bottom="4dp" android:right="4dp">                <shape>                    <solid android:color="#ff58bb52" />                    <corners android:radius="30dip"/>                </shape>            </item>        </layer-list>    </item></selector>

在我们的例子中,当按钮被按下时,我们取消了阴影来产生反馈效果。
别忘了你可以修改距离和颜色来产生新效果。例如你可以使用渐变方式来生成阴影层。

1 0
原创粉丝点击