很多时候我们都想让一些控件拥有自己的阴影,让它看起来更帅、更NB!在这儿写一个NB的阴影
展示图
想了解下面的阴影的编写,首先你先要知道一些shape属性
下面给大家介绍的阴影是
阴影的编写文件:
home_menu_background.xml
<?xml version="1.0" encoding="utf-8"?>
<!--通过layer-list来实现阴影,layer-list中可以有多个shape,修改底层的shape来实现不同的阴影-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--我们先将阴影区确定出来,例如这儿的阴影区是外围10dp大小的包围圈-->
<!-- 左右阴影区,我们不能影响上下阴影区,所以通过在item里面写距离top与bottom的距离是10dp,这样就不会影响上下阴影区 -->
<item android:top="10dp" android:bottom="10dp">
<!--设置阴影是矩形-->
<shape android:shape="rectangle" >
<!-- from left to right -->
<!--设置渐变颜色,开始是#F2F2F2,中间是#FF8800,最后是#F2F2F2-->
<gradient
android:type="linear"
android:angle="0"
android:startColor="#F2F2F2"
android:centerColor="#FF8800"
android:endColor="#F2F2F2"/>
<corners android:radius="5dp" />
</shape>
</item>
<!--上下阴影区,同理不能让上下阴影区影响左右阴影区,所以也需设置距离左右的距离-->
<item android:left="10dp" android:right="10dp">
<shape android:shape="rectangle" >
<!--from top to bottom-->
<gradient
android:type="linear"
android:angle="90"
android:startColor="#F2F2F2"
android:centerColor="#FF8800"
android:endColor="#F2F2F2"/>
<corners android:radius="5dp" />
</shape>
</item>
<!--正式内容区,让阴影区显示出来,设置距离上下左右的距离,然后显示的就是阴影区的渐变颜色-->
<!--我这只设置的下左右,因为一般上方没有阴影,所以就没写了-->
<item android:bottom="10dp" android:left="10dp" android:right="10dp">
<shape android:shape="rectangle" >
<solid android:color="#FCFCFC"/>
<corners android:radius="5dp" />
<stroke android:width="1dp"
android:color="#F3F3F3"/>
</shape>
</item>
</layer-list>
阴影区:
布局导入阴影:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#F2F2F2"
tools:context="com.leezp.xingyun.yinying.MainActivity">
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/home_menu_background">
</LinearLayout>
</LinearLayout>