Android组件 <shape>阴影

来源:互联网 发布:苹果5s能用4g网络吗 编辑:程序博客网 时间:2024/06/07 09:59

很多时候我们都想让一些控件拥有自己的阴影,让它看起来更帅、更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>
原创粉丝点击