我创建了一个可与 Android 平台上的另一个应用程序协同工作的应用程序。另一个应用程序根据用户操作以 Intent 传递我的应用程序信息。我希望我可以在其他应用程序之上弹出一个半透明的信息对话框。我在这里遵循了其中一个示例,但它使我的应用程序回到前台并将对话框置于其上。这可能吗?我希望避免与其他开发人员合作来设置 Intent 监听器等来显示我的信息。
最佳答案
如果你想在另一个 Activity 之上处理一个弹出窗口,你必须使用广播监听器来实现。 就半透明属性而言,您可以在实例化新对话框时添加以下行: dialog = new DialogBox(this, R.style.Transparent);
为了实现这一点,您需要在 styles.xml 中编写以下代码,该文件将驻留在项目的 values 文件夹中。
<style name="Transparent">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">
@android:style/Animation.Translucent</item>
<item name="android:windowBackground">@drawable/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item>
</style>
同样,您需要在 values 文件夹中的 colors.xml 文件中添加以下行:
<drawable name="transparent">#00000000</drawable>
此外,您还可以试试这个:给背景图像添加模糊
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.dimAmount=0.0f;
dialog.getWindow().setAttributes(lp);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
希望这会有所帮助。
谢谢!
关于android - 在另一个正在运行的 Activity (Android)之上显示对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10031951/