首页 > 解决方案 > 我可以在 xml 中剪掉底层项目的背景颜色吗?

问题描述

我想要一个不“继承”下面任何东西的背景的形状

在这种情况下,灰色背景会覆盖内部项目背景。我的目标是内部项目背景是空的

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
            android:bottom="2dp"
            android:left="1dp"
            android:right="1dp">
        <shape>
            <solid android:color="@android:color/darker_gray" />
            <stroke
                    android:width="2dp"
                    android:color="@android:color/darker_gray" />
            <corners android:radius="20dp" />
            <padding
                    android:bottom="5dp"
                    android:left="5dp"
                    android:right="5dp"
                    android:top="5dp" />
        </shape>
    </item>
    <item
            android:bottom="30dp"
            android:left="30dp"
            android:right="30dp"
            android:top="20dp">
        <shape>
            <stroke android:width="2dp" />
            <corners android:radius="50dp" />
            <padding
                    android:bottom="15dp"
                    android:left="15dp"
                    android:right="15dp"
                    android:top="15dp" />
        </shape>
    </item>
</layer-list>

我希望这里的第二个项目没有灰色背景,就像它是从第一个项目中剪下的一样。

标签: androidxmlandroid-layout

解决方案


添加<solid android:color="#fff"/>到您的第二项。

drawale的完整代码是:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:bottom="2dp"
        android:left="1dp"
        android:right="1dp">
        <shape>
            <solid android:color="@android:color/darker_gray" />
            <stroke
                android:width="2dp"
                android:color="@android:color/darker_gray" />
            <corners android:radius="20dp" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
        </shape>
    </item>
    <item
        android:bottom="30dp"
        android:left="30dp"
        android:right="30dp"
        android:top="20dp">
        <shape>
            <stroke android:width="2dp" />
            <corners android:radius="50dp" />
            <padding
                android:bottom="15dp"
                android:left="15dp"
                android:right="15dp"
                android:top="15dp" />
            <solid android:color="#fff"/>
        </shape>
    </item>
</layer-list>

我希望它对你有用。


推荐阅读