我想在另一个活动之上创建一个透明的活动。

我怎样才能做到这一点呢?


当前回答

为它指定半透明主题

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

其他回答

所有这些答案可能会让人困惑,透明活动和无UI活动之间是有区别的。

用这个:

android:主题= " @android:风格/ Theme.Translucent.NoTitleBar”

将使活动透明,但将阻塞UI。

如果你想要一个None的UI活动,请使用这个:

android:主题= " @android:风格/主题。NoDisplay”

有两种方法:

使用主题。NoDisplay 使用Theme.Translucent.NoTitleBar

使用主题。NoDisplay仍然可以工作,但只适用于旧的Android设备。Android 6.0及以上版本,使用Theme。没有调用onCreate()中的finish()(或者,从技术上讲,在onResume()之前)NoDisplay将使应用程序崩溃。这就是为什么建议使用theme .半透明。NoTitleBar,不受此限制。”

在onCreate函数中,在setContentView的下面,添加这一行:

getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

我只做了两件事,它让我的活动变得透明。它们在下面。

在清单文件中,我只是在活动标记中添加了以下代码。 android:主题= " @android:风格/ Theme.Translucent.NoTitleBar.Fullscreen” 然后我将该活动的主布局的背景设置为“#80000000”。就像 android:背景= " # 80000000 "

它非常适合我。

只要让活动背景图像是透明的。或者在XML文件中添加主题:

<activity android:name=".usual.activity.Declaration" android:theme="@android:style/Theme.Translucent.NoTitleBar" />