如何显示半透明活动?

Sac*_*i G 4 transparency android android-activity

如何在我的活动之上创建半透明活动以显示帮助内容?我看过许多应用程序在半透明屏幕上显示帮助内容(例如,当显示微调器下拉列表时,屏幕的其余部分变暗,投影下拉.我想创建那个昏暗的屏幕)

flx*_*flx 6

只需在您的活动中为您的活动设置适当的主题AndroidManifest.xml:

<activity android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
Run Code Online (Sandbox Code Playgroud)

您可以在onCreate()活动中设置主题,但在活动设置之间您会看到黑色闪烁.


Plo*_*oon 5

在清单中声明您的活动,如下所示:

<activity android:name=".yourActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
Run Code Online (Sandbox Code Playgroud)

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

为避免黑色闪烁,您应通过创建样式来禁用活动动画:

<style name="noAnimTheme" parent="android:Theme">
  <item name="android:windowAnimationStyle">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)

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

<activity android:name=".ui.yourActivity" android:theme="@style/noAnimTheme">
</activity>
Run Code Online (Sandbox Code Playgroud)

或者只是Intent.FLAG_ACTIVITY_NO_ANIMATION在开始活动时指定标志.