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

Posted

技术标签:

【中文标题】在android中将形状背景设置为透明【英文标题】:set shape background to transparent in android 【发布时间】:2013-07-01 19:26:22 【问题描述】:

我有一个要用作背景的可绘制形状。我希望形状是透明的。但到目前为止还不是。我怎么做?这是我所拥有的:

<?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:
        android:color="#000000" />

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

</shape>

我预计&lt;solid android:color="#80000000" /&gt; 行会成功。

编辑:

在清单中,我设置了android:theme="@android:style/Theme.Dialog"。这可能是问题的原因吗?我基本上是想把这个观点放在另一个之上。更改为 00 或 FF 或任何其他都不起作用。

【问题讨论】:

您希望 alpha 值为 80 吗?这是故意的吗?还是您希望它的不透明度为零,00? 请在您设置背景查看的位置添加代码。 【参考方案1】:

如果要将形状背景设置为透明,则需要设置此颜色

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

【讨论】:

【参考方案2】:

要创建包含不透明效果的颜色,您可以创建颜色 考虑到 Alpha 通道。

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

另一位用户关于颜色格式的引述:

在android中定义view的颜色时,格式可以是#RRGGBB或者#AARRGGBB,其中AA是十六进制的alpha值。 FF 将是完全不透明的,而 00 将是完全透明的。

有关此技术的更多信息可以在此线程中找到: How to Set Opacity (Alpha) for View in Android

问候, 吉姆

【讨论】:

【参考方案3】:

你可以用这个:

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

这对我有用。

【讨论】:

【参考方案4】:

我找到了答案。直接引用:

我发现的最简单的方法是将 AndroidManifest 中的活动主题设置为 android:theme="@android:style/Theme.Holo.Dialog" 然后在活动的 onCreate 方法中调用 getWindow().setBackgroundDrawable(new ColorDrawable(0));

来自@DrewLeonce 在Android: how to create a transparent dialog-themed activity

【讨论】:

以上是关于在android中将形状背景设置为透明的主要内容,如果未能解决你的问题,请参考以下文章

xml - 无法将形状设置为 TextView 的背景

在android活动中设置片段的形状和透明度

在 Plotly 图中将背景颜色设置为透明

具有透明背景的形状上的涟漪

在 CSS 中制作透明文本并在文本形状内拟合背景图像

怎样将android控件背景设置成透明?