我创建了一个适用于Android平台上其他应用的应用。另一个应用程序根据用户操作传递我的应用程序信息和意图。我希望,我可以在另一个应用程序之上弹出一个半透明的信息对话框。我按照其中一个示例进行操作,但是它将我的应用程序带回到前台并将对话框置于其上。这可能吗?我希望避免与其他开发人员一起设置意图监听器等等,以显示我的信息。
答案 0 :(得分:1)
如果要在另一个活动之上处理弹出窗口,则必须使用广播侦听器进行实现。 就半透明属性而言,您可以在实例化新对话框时添加以下行: 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);
希望这会有所帮助。
谢谢!