如何显示半透明的活动页面?

4

我该如何在我的Activity上创建一个半透明的活动来展示帮助内容?我看到很多应用程序在半透明屏幕上显示帮助内容(例如当下拉菜单弹出时,其余屏幕变暗并投射下拉菜单。我想创建这样的暗屏幕)。


可能是Translucent Activity filling the entire screen的重复问题。 - Snicolas
请不要关闭,因为接受的答案提供了额外的价值——“闪烁”是透明屏幕的一个问题,这里展示了如何解决这个问题。 - Richard Le Mesurier
2个回答

6
只需在AndroidManifest.xml中为您的活动设置适当的主题即可:
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">

您可以在activity的onCreate()方法中设置主题,但是在activity设置完毕之前您会看到一个黑屏闪烁。

1
避免活动转换时闪烁的完美解决方案......您可以在活动的onCreate()中设置主题,但是在活动设置完成之前会看到黑色闪烁。 - Android_IT

5

像这样在清单文件中声明您的活动:

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

并且为您的布局添加透明背景。

为了避免黑屏闪烁,您可以创建一个样式来禁用活动动画:

<style name="noAnimTheme" parent="android:Theme">
  <item name="android:windowAnimationStyle">@null</item>
</style>

然后在清单文件中将其设置为活动或整个应用程序的主题。

<activity android:name=".ui.yourActivity" android:theme="@style/noAnimTheme">
</activity>

或者在启动活动时指定Intent.FLAG_ACTIVITY_NO_ANIMATION标志。


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