1

Android プラットフォーム上の別のアプリと連携するアプリケーションを作成しました。他のアプリケーションは、ユーザー アクションに基づいて、インテントを使用してアプリ情報を渡します。私は、他のアプリケーションの上に半透明の情報ダイアログをポップできることを望んでいました。ここで例の 1 つに従いましたが、アプリケーションをフォアグラウンドに戻し、その上にダイアログを配置しました。これは可能ですか?他の開発者と協力してインテント リスナーを設定したり、情報を表示したりする必要がないようにしたいと考えています。

4

1 に答える 1

1

別のアクティビティの上でポップアップを処理する場合は、ブロードキャスト リスナーを使用して実装する必要があります。半透明のプロパティに関する限り、新しいダイアログをインスタンス化する際に以下の行を追加できます: dialog = new DialogBox(this, R.style.Transparent);

これを実装するには、プロジェクトの値フォルダーにある styles.xml に次のコードを記述する必要があります。

      <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 に答える