简体   繁体   English

如何在drawable android中添加内阴影效果?

[英]How to add inner shadow effect in drawable android?

I want to add inner shadow effect into my drawable file like this.我想像这样将内部阴影效果添加到我的可绘制文件中。

在此处输入图像描述

Below is my drawable file.下面是我的可绘制文件。 I want to achieve shadow inside the drawable file as you can see above.如上所示,我想在可绘制文件中实现阴影。 What changes should i make to achieve this?我应该做出哪些改变来实现这一目标?

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

    <item
        android:bottom="@dimen/_3sdp"
        android:left="@dimen/_8sdp"
        android:right="@dimen/_8sdp"
        android:top="@dimen/_3sdp">

        <shape>

            <corners android:radius="@dimen/_75sdp" />

            <padding android:bottom="@dimen/_8sdp"
                android:top="@dimen/_8sdp" />

            <solid android:color="@color/leave_msg_color" />

        </shape>

    </item>

</layer-list>

You can make many item inside your layer-list to produce shadow effect inside check this one out Add shadow to custom shape on Android .您可以在您的图层列表中制作许多项目以在其中产生阴影效果检查这一点Add shadow to custom shape on Android

You just need to change some values to achieve your wanted output.您只需要更改一些值即可实现您想要的 output。 make the radius to get oval form and the values of colors.使半径得到椭圆形和 colors 的值。

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

    <item android:top="@dimen/size_point5dp"
            android:left="@dimen/size_point5dp"
            android:right="@dimen/size_point5dp"
            android:bottom="@dimen/size_point5dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/blue_E7F1FF"/>
            <corners android:radius="8dp"/>
        </shape>

    </item>

    <!--  left shadow -->
    <item>
        <shape android:shape="rectangle">
            <gradient
                    android:angle="180"
                    android:centerColor="#00FF0000"
                    android:centerX="0.98"
                    android:endColor="#5C000000"
                    android:startColor="#00FF0000" />
            <corners android:radius="8dp" />
        </shape>
    </item>
    <!--  right shadow -->
    <item>
        <shape android:shape="rectangle">
            <gradient
                    android:angle="360"
                    android:centerColor="#00FF0000"
                    android:centerX="0.98"
                    android:endColor="#5C000000"
                    android:startColor="#00FF0000" />
            <corners android:radius="8dp" />
        </shape>
    </item>
    <!--  top shadow -->
    <item>
        <shape android:shape="rectangle">
            <gradient
                    android:angle="270"
                    android:centerColor="#00FF0000"
                    android:centerY="0.1"
                    android:endColor="#00FF0000"
                    android:startColor="#6B000000" />
            <corners android:radius="8dp" />
        </shape>
    </item>
 <!--  bottom shadow -->
    <item>
        <shape android:shape="rectangle">
            <gradient
                    android:angle="90"
                    android:centerColor="#00FF0000"
                    android:centerY="0.1"
                    android:endColor="#00FF0000"
                    android:startColor="#6B000000" />
            <corners android:radius="8dp" />
        </shape>
    </item>
</layer-list>

The image would look like image图像看起来像图像

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM