如何创建圆角阴影 - Android

时间:2014-01-28 09:54:55

标签: android android-linearlayout shadow

如何在图片的椭圆形中创建阴影到线性布局

我可以使用以下脚本创建阴影,但从左到写的厚度是相同的

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

     <!-- Drop Shadow Stack -->
     <item>
        <shape>
            <padding android:bottom="1dp" />
            <solid android:color="#00CCCCCC" />
        </shape>
    </item>
     <item>
        <shape>
            <padding android:bottom="1dp" />
            <solid android:color="#10CCCCCC" />
        </shape>
    </item>
     <item>
        <shape>
            <padding android:bottom="1dp" />
            <solid android:color="#20CCCCCC" />
        </shape>
    </item>
     <item>
        <shape>
            <padding android:bottom="1dp" />
            <solid android:color="#30CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:bottom="1dp" />
            <solid android:color="#50CCCCCC" />
        </shape>
    </item>

    <!-- Background -->
    <item>
    <shape>
            <solid android:color="#FFFFFF" />
        <corners android:radius="3dp" />
    </shape>
    </item>
</layer-list>

我需要在中心区域厚但在左右两侧狭窄的阴影。

enter image description here

1 个答案:

答案 0 :(得分:0)

我建议你创建一个9patch并使用它,但在你的情况下,它可能不是最好的做法。所以也许您可以尝试使用径向渐变,但它将是可变设备到设备...要有径向渐变,您可以尝试这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:endColor="#00000000"
                android:gradientRadius="360"
                android:startColor="#000000"
                android:type="radial" />
        </shape>
    </item> 
</layer-list>

编辑:第二个想法,可能9patch对你来说是最好的情况......