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

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


当前回答

它是这样的:

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

其他回答

我在2.3.3上通过添加android:theme="@android:style/ theme来实现它。半透明的”在活动标签在清单。

我不知道更低的版本……

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

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

对于对话活动,我使用这个:

getWindow().getDecorView().setBackgroundResource(android.R.color.transparent);

但是你也需要将活动中的主视图设置为不可见。否则,背景将是不可见的,而其中的所有视图将是可见的。

有两种方法:

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

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

将半透明主题分配给你想要在项目的Android清单文件中透明的活动:

<activity
    android:name="YOUR COMPLETE ACTIVITY NAME WITH PACKAGE"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />