我已经知道如何设置背景图像的不透明度,但我需要设置形状对象的不透明度。
在我的Android应用中,我喜欢这样:
我希望这个黑色区域有点透明,就像这里一样,例如我可以通过这个“欢迎......”看到圈子:
这是我的形状代码:
<?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>
我该怎么做?
答案 0 :(得分:178)
通常,您只需在创建形状时定义略微透明的颜色。
您可以通过设置颜色alpha通道来实现。
#FF000000
会给你一个坚实的黑色,而#00000000
会让你100%透明黑色(显然它不再是黑色)。
配色方案如下#AARRGGBB
,其中A代表alpha通道,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>
这里的颜色是半透明的黑色。
答案 1 :(得分:4)
使用以下代码作为progress.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="#00000000" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#00000000" />
</shape>
</clip>
</item>
</layer-list>
其中:
在包含xml:
的布局中使用它<SeekBar
android:id="@+id/myseekbar"
...
android:progressDrawable="@drawable/progress"
/>
您还可以使用自定义图标seek_thumb.png自定义拇指:
android:thumb="@drawable/seek_thumb"
答案 2 :(得分:1)
使用此功能,我已将此信息写入我的应用
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#882C383E"/>
<corners
android:bottomRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
</shape>