You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Android EditText添加模糊阴影?已绘制Shape但不知对应属性

给EditText添加模糊阴影的正确实现方法

我懂你现在的困扰——用layer-list做了背景但没得到想要的模糊阴影效果对吧?其实问题大概率出在阴影层的属性设置上,咱们直接来修正你的drawable文件,一步步实现自然的模糊阴影:

完整的Drawable代码实现

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 模糊阴影层 -->
    <item
        android:left="2dp"
        android:right="2dp"
        android:top="4dp"
        android:bottom="4dp">
        <shape android:shape="rectangle">
            <!-- 半透明深灰色阴影,前两位是透明度,数值越小越淡 -->
            <solid android:color="#44000000" />
            <!-- 圆角需与下方输入框本体保持一致 -->
            <corners android:radius="8dp" />
            <!-- 利用padding让阴影有扩散模糊的空间 -->
            <padding
                android:left="1dp"
                android:right="1dp"
                android:top="1dp"
                android:bottom="1dp" />
        </shape>
    </item>

    <!-- EditText本体层 -->
    <item
        android:left="2dp"
        android:right="2dp"
        android:top="2dp">
        <shape android:shape="rectangle">
            <!-- 输入框背景色,这里用白色 -->
            <solid android:color="#FFFFFF" />
            <!-- 和阴影层统一圆角,避免错位 -->
            <corners android:radius="8dp" />
            <!-- 可选:给输入框加细边框提升质感 -->
            <stroke
                android:width="1dp"
                android:color="#EEEEEE" />
            <!-- 内边距,让输入内容不贴边框 -->
            <padding
                android:left="16dp"
                android:top="12dp"
                android:right="16dp"
                android:bottom="12dp" />
        </shape>
    </item>
</layer-list>

关键细节说明

  • 阴影层偏移:通过android:left/right/top/bottom控制阴影的位置,一般向下、向右偏移模拟真实光影,数值可以根据需求调整
  • 阴影颜色选择:一定要用半透明的深色(比如#44000000),纯黑阴影会显得很生硬,透明度数值越小,阴影越柔和
  • 圆角一致性:阴影层和输入框本体的圆角必须完全相同,否则会出现阴影和框体错位的情况
  • 兼容性优化:这种layer-list的方式在所有Android版本都能正常工作,如果你的应用只适配API 28+,也可以直接给EditText设置android:shadowRadius、android:shadowColor等属性,但兼容性会差一些

最后注意事项

把这个drawable设置为EditText的android:background后,记得去掉EditText默认的android:elevation属性,不然系统默认的阴影会和你自定义的阴影冲突,导致显示异常。

内容的提问来源于stack exchange,提问作者BlackAndWhite

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:28:51