如何在安卓中创建透明活动?

16
如何在Android中创建透明Activity,在屏幕上轻按“dismiss”按钮时自动关闭该Activity。请提供任何解决方案。

1
所以我明白你想要一个透明的活动,但是你想在点击问题上实现什么? - Shobhit Puri
4
如何在Android中创建透明Activity?如下所示,在您的Android应用程序的清单文件中,将Activity的主题设置为“@android:style/Theme.Translucent”即可创建一个透明的Activity:然后,在您的代码中,可以按照通常的方式处理Activity。 - Pinki
2
在清单文件中,特别是你想要透明的活动中,使用android:theme="@android:style/Theme.Translucent"。 - Saad Asad
1
为什么不使用透明视图而不是活动?您可以在活动上放置一个透明视图。 - ACengiz
大家好,这个问题已经解决了,实现已完成,非常感谢分享信息。 - Narasimha
1
可能是如何在Android中创建透明活动?的重复问题。 - msangel
2个回答

25

有两种方法可以实现这一点

  • 使用以下主题进行活动。

android:theme="@android:style/Theme.Translucent"

  • 将活动的背景设置为透明的png图像或透明代码

例如:

android:background="@drawable/transparent_bg"

或者

android:background="#33BBFFFF"

this is a semi transparent color

相关链接

如何在Android上使背景透明20%

在Android上理解颜色(六个字符)

  • 要在轻击时关闭activity,请实现onTouchListener,当检测到触摸事件时调用finish();

希望有所帮助!


1
android:background="#33BBFFFF" 应用于 RelativeActivity 时没有给我透明的背景,只是给了我一个白色的背景。-1 - Daniel Viglione

9

使用noTitleBar可以更好地创建完全透明的活动。

android:theme="@android:style/Theme.Translucent.NoTitleBar"

记得继承自Activity而不是AppCompactActivity扩展你的活动

如果需要使用AppCompact,则声明一个新主题:

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

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