在安卓中将形状背景设置为透明

17

我有一个形状 drawable,我想将其用作背景。我希望这个形状是透明的。但到目前为止它不是透明的。我该怎么做呢?这是我拥有的东西:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="10dp"
    android:shape="rectangle" >

    <solid android:color="#80000000" />

    <stroke
        android:width="1dip"
        android:color="#000000" />

    <corners android:radius="10dp" />

</shape>

我原本期望这一行代码<solid android:color="#80000000" />可以解决问题。

编辑:

在清单文件中,我设置了 android:theme="@android:style/Theme.Dialog"。这可能是问题的原因吗?我的目标是在另一个视图上方显示这个视图。无论将颜色值更改为00或FF或其他任何值都没有效果。


1
你想让 alpha 值为 80 吗?这是有意为之的吗?还是你想让它完全透明,00? - Flynn81
请在代码中添加设置视图背景的部分。 - Volodymyr Yatsykiv
4个回答

21

如果您希望将形状的背景设置为透明,您需要设置这种颜色。

<solid android:color="#00000000" />

11

为了创建带有不透明度效果的颜色,您可以考虑 alpha 通道并创建一个相应的颜色。

<resources>
<color name="translucent_grey">#88cccccc</color>
</resources>

关于颜色格式的引述:

在定义Android视图的颜色时,格式可以是#RRGGBB或#AARRGGBB,其中AA是十六进制透明度值。 FF将完全不透明,00将完全透明。

有关此技术的更多信息可以在此主题中找到: 如何在Android中设置视图的不透明度(Alpha)

问候, Jim


7

您可以使用这个:

<solid
    android:color="@android:color/transparent"/>

这对我很有效。

3
我找到了答案。直接引用:
我发现最简单的方法是在AndroidManifest中将活动主题设置为android:theme =“@ android:style / Theme.Holo.Dialog”,然后在活动的onCreate方法中调用getWindow()。setBackgroundDrawable(new ColorDrawable(0));
来自@DrewLeonce在Android:how to create a transparent dialog-themed activity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接