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

Android如何设置Drawable背景透明以显示父View背景?

解决Android Layer-List背景不透明问题

你的layer-list代码中,第一个item使用了黑色纯色填充,这就是导致子View出现黑色背景、无法看到父View背景的原因。要实现完全透明的效果,只需要将黑色替换为透明色即可。

修改方案1:替换透明色保留原有结构

将第一个item的@color/black改为Android系统自带的透明色@android:color/transparent,或者自定义透明色值(如#00000000):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="@android:color/transparent" />
        </shape>
    </item>
    <item android:left="2dp">
        <shape android:shape="rectangle" >
            <solid android:color="@color/white" />
        </shape>
    </item>
</layer-list>

修改方案2:简化代码(推荐)

如果你的需求只是给白色矩形左侧留出2dp的透明间距,无需额外的底层shape,直接保留第二个item即可,未被白色矩形覆盖的区域默认就是透明的:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:left="2dp">
        <shape android:shape="rectangle" >
            <solid android:color="@color/white" />
        </shape>
    </item>
</layer-list>

修改后,子View背景除了白色矩形区域外,其余部分完全透明,就能正常显示父View的背景了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:15:30