我已经知道如何设置背景图像的不透明度,但是我需要设置形状对象的不透明度。
在我的Android应用中,我的代码是这样的:
并且我想使这个黑色区域有点透明,例如这里,例如,我可以通过“Welcome ...”看到圆圈:
这是我的形状代码:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shape_my"">
<stroke android:width="4dp" android:color="#636161" />
<padding android:left="20dp"
android:top="20dp"
android:right="20dp"
android:bottom="20dp" />
<corners android:radius="24dp" />
</shape>
我怎样才能做到这一点?
最佳答案
通常,创建形状时只需要定义稍微透明的颜色即可。
您可以通过设置颜色Alpha channel 来实现。#FF000000
将为您提供纯黑色,而#00000000
将为您提供100%透明的黑色(显然,它不再是黑色的了)。
配色方案类似于#AARRGGBB
,其中A代表alpha channel ,R代表红色,G代表绿色,B代表蓝色。
如果在Java中设置颜色,则同样适用。在那里,它只会看起来像0xFF000000
。
更新
在您的情况下,您必须添加一个solid
节点。像下面一样。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shape_my">
<stroke android:width="4dp" android:color="#636161" />
<padding android:left="20dp"
android:top="20dp"
android:right="20dp"
android:bottom="20dp" />
<corners android:radius="24dp" />
<solid android:color="#88000000" />
</shape>
这里的颜色是半透明的黑色。