1

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

4

1 回答 1

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

希望这会有所帮助。

谢谢!

于 2013-07-23T13:21:33.307 回答