在另一个正在运行的活动(Android)上显示对话框?

时间:2012-04-05 15:59:07

标签: android dialog

我创建了一个适用于Android平台上其他应用的应用。另一个应用程序根据用户操作传递我的应用程序信息和意图。我希望,我可以在另一个应用程序之上弹出一个半透明的信息对话框。我按照其中一个示例进行操作,但是它将我的应用程序带回到前台并将对话框置于其上。这可能吗?我希望避免与其他开发人员一起设置意图监听器等等,以显示我的信息。

1 个答案:

答案 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);  

希望这会有所帮助。

谢谢!