これに似たカスタム PopupWindow を作成したい:
http://android-er.blogspot.kr/2012/03/example-of-using-popupwindow.html
この例では、アクティビティからのボタン クリック イベントによって PopupWindow が作成されますが、別のアプリケーションからインテント経由で PopupWindow を作成したいと考えています。出来ますか?どんなコメントでも大歓迎です!
これに似たカスタム PopupWindow を作成したい:
http://android-er.blogspot.kr/2012/03/example-of-using-popupwindow.html
この例では、アクティビティからのボタン クリック イベントによって PopupWindow が作成されますが、別のアプリケーションからインテント経由で PopupWindow を作成したいと考えています。出来ますか?どんなコメントでも大歓迎です!
アイデアは、標準のアクティビティを宣言して、一種のポップアップ ウィンドウのように見せることです。
このコードを使用します (標準のボイラー プレートIntent
コードを使用して をトリガーしますActivity
) 。
SOME_WIDGET.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(getApplicationContext(), THE_POPUP_ACTIVITY.class);
startActivity(myIntent);
}
});
たとえば、ポップアップActivity
にPopupという名前を付けた場合THE_POPUP_ACTIVITY.class
、Popup.class
ここで、このアクティビティのマニフェストで、 を宣言しtheme
ます。例えば:
そして、これは対応するスタイル宣言です:
<style name="DialogNoTitleBar" parent="android:style/Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
また、 Popup アクティビティの中で、 I say mightonCreate()
の直後にこのステートメントを追加することをお勧めします。なぜなら、どのように表示させたいかは、I popup アクティビティのプログラミング方法とは異なる場合があるためです。setContentView(R.layout.THE_LAYOUT_XML);
getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
あなたの要件は本当に明確ではありません。インテントは通常、別のアクティビティに切り替えたい場合や、何らかのサービスにインテントを送信したい場合に使用されます。アクションのダイアログを開きたい場合、実際にはインテントは必要ありません。
カスタム デザインでアクティビティを作成し、アクティビティをマニフェスト ファイルに登録するだけで、これを追加android:theme="@android:style/Theme.Dialog"
して意図したアクティビティを呼び出すことができます。あなたがそれを手に入れたことを願っています。:)