为什么 android 中的背景重叠可绘制资源
why is background overlapping drawable resource in android
当我偶然发现一些我无法完全理解的东西时,我正在学习一个教程。这是我用作图像按钮源的可绘制资源。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<stroke android:width="2dp"
android:color="@color/light_silver"/>
<padding android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp"
android:color="@color/light_silver"/>
<solid android:color="#00000000"/>
<corners android:radius="10dp"/>
</shape>
</item>
</layer-list>
这是 ImageButton
。
<ImageButton
android:layout_height="25dp"
android:layout_width="25dp"
android:layout_margin="2dp"
android:src="@drawable/pallet_normal"
android:background="@color/yellow"
android:tag="@color/yellow"/>
这是由此创建的结果。
我不明白为什么背景与可绘制资源重叠。 drawable 的中间不应该是黑色的,因为那是我在 solid 标签中设置的吗?请帮忙,我很困惑。
您通过将 alpha 通道设置为 00
来使用透明颜色,这使颜色完全透明;要使其完全不透明,您可以将其设置为 ff
>> <solid android:color="#ff000000"/>
或仅使用 6 位颜色移除 alpha 通道 >> <solid android:color="#000000"/>
.
有关使用 android 中字母数字的额外帮助,请查看 this question。
当我偶然发现一些我无法完全理解的东西时,我正在学习一个教程。这是我用作图像按钮源的可绘制资源。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<stroke android:width="2dp"
android:color="@color/light_silver"/>
<padding android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp"
android:color="@color/light_silver"/>
<solid android:color="#00000000"/>
<corners android:radius="10dp"/>
</shape>
</item>
</layer-list>
这是 ImageButton
。
<ImageButton
android:layout_height="25dp"
android:layout_width="25dp"
android:layout_margin="2dp"
android:src="@drawable/pallet_normal"
android:background="@color/yellow"
android:tag="@color/yellow"/>
这是由此创建的结果。
我不明白为什么背景与可绘制资源重叠。 drawable 的中间不应该是黑色的,因为那是我在 solid 标签中设置的吗?请帮忙,我很困惑。
您通过将 alpha 通道设置为 00
来使用透明颜色,这使颜色完全透明;要使其完全不透明,您可以将其设置为 ff
>> <solid android:color="#ff000000"/>
或仅使用 6 位颜色移除 alpha 通道 >> <solid android:color="#000000"/>
.
有关使用 android 中字母数字的额外帮助,请查看 this question。