Android资源文件-Shape

  1. solid
    这里写图片描述
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!--绿色填充-->
    <solid android:color="#0f0" />

</shape>

2.corner
Android资源文件-Shape_第1张图片

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#0f0" />
    <!--半径为10px的圆角-->
    <corners android:radius="10px" />

</shape>

3.gradient
Android资源文件-Shape_第2张图片

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#0f0" />

    <corners android:radius="10px" />
     <!--渐变色:开始的颜色,中间的颜色,结束的颜色-->
    <gradient  android:startColor="#D8FC83" android:centerColor="#41F114" android:endColor="#0f0" />

</shape>

4.stroke
Android资源文件-Shape_第3张图片

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#0f0" />

    <corners android:radius="10px" />

    <gradient  android:centerColor="#41F114" android:endColor="#0f0" android:startColor="#D8FC83" />
    <!--边框:宽度,颜色-->
    <stroke  android:width="1px" android:color="#f0f" />

</shape>

5.阴影效果
Android资源文件-Shape_第4张图片

需要3个图层:
a:最底层和整体背景颜色一致
b:中间层left和top错开2dp
c:最上层和阴影颜色一致的边框,和最底层一样颜色的填充色,bottom和right方向错开2dp
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <!--最底层-->
    <item>
        <shape>
            <solid android:color="#fff" />
        </shape>
    </item>
  <!--中间层-->
    <item  android:left="2dp" android:top="2dp">
        <shape>
            <solid android:color="#ccc" />
        </shape>
    </item>
  <!--最上层-->
    <item  android:bottom="2dp" android:right="2dp">
        <shape>
            <solid android:color="#fff" />

            <stroke  android:width="1px" android:color="#ccc" />
        </shape>
    </item>
</layer-list>

6.底部边框颜色和其它边框颜色不同。
Android资源文件-Shape_第5张图片–>Android资源文件-Shape_第6张图片–>Android资源文件-Shape_第7张图片

a:最底层黄色填充色。
b:中间层灰色边框1px,白色填充色,bottom 5px,可以露出5px的底层的黄色。
c:最上层left,right,top透明边框1px,白色填充色,正好显示出中间层的left,right,top边框。bottom 4px正好覆盖中间层的底部边框。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!--第一层-->
    <item>
        <shape>
            <solid android:color="#ff0" />
        </shape>
    </item>
<!--第二层-->
    <item android:bottom="5px">
        <shape>
            <solid android:color="#fff" />
            <stroke  android:width="1px" android:color="#ccc" />
        </shape>
    </item>
为了去掉底部灰色边框,再覆盖一个图层。(白色背景,透明边框,和第二层边框的width基本一致,但bottom的值一定要小于第二层的bottom值)
<!--第三层-->
    <item  android:bottom="4px" android:left="1px" android:right="1px" android:top="1px">
        <shape>
            <solid android:color="#fff" />
            <stroke  android:width="1px" android:color="#0000" />
        </shape>
    </item>
</layer-list>

你可能感兴趣的:(android)