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

标签 android android-layout drawable

我想像这样将内部阴影效果添加到我的可绘制文件中。

enter image description here

下面是我的可绘制文件。我想在可绘制文件内实现阴影,如上所示。我应该做出哪些改变才能实现这一目标?

<?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>

最佳答案

    <?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>

图像看起来像 image

关于android - 如何在drawable android中添加内阴影效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58179710/

相关文章:

android 信用卡扫描库或任何 API(Card.io 除外)

android - 需要一个示例来说明如何执行异步 HTTP 请求

java - 相对布局参数无法正常工作

android - 如何对齐在android线性布局水平方向上对齐的项目?

android - 如何使用动态字符串路径从 Drawable 访问图像

android - AlarmManager 设置不止一次?

android - 谷歌地图未在 Android 中显示

Android Progressbar 不旋转并在 Oreo 中出现箭头

android - 奇怪的重绘?在 android 上的 webview 中发布 html 应用程序

安卓工作室 1.4 : drawable-v21 ignored when using "File/New/Vector Asset" option