オンラインで調べたところ、PopupWindow クラスの実例を見つけることができませんでした。私がオンラインで見つけたコード例は、コンパイルしても動作しないか、削除されたメソッド ( Activity.getViewInflate())
.
PopupWindow を表示する簡単な実例はありますか?
オンラインで調べたところ、PopupWindow クラスの実例を見つけることができませんでした。私がオンラインで見つけたコード例は、コンパイルしても動作しないか、削除されたメソッド ( Activity.getViewInflate())
.
PopupWindow を表示する簡単な実例はありますか?
この Google グループの投稿に基づいて実際の例を作成しました。
シンプルで機能する PopupWindow を作成するには、次の手順を実行する必要があります。
popup_example.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Test Pop-Up"
/>
</LinearLayout>
Java コード:
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
PopupWindow pw = new PopupWindow(
inflater.inflate(R.layout.popup_example, null, false),
100,
100,
true);
// The code below assumes that the root container has an id called 'main'
pw.showAtLocation(this.findViewById(R.id.main), Gravity.CENTER, 0, 0);
http://sree.cc/google/android/android-popup-windowに見られるように、私の知る限り、AbsoluteLayoutのみが機能します(確認してください)。ポップアップを正しく表示しましたが、LinearLayout はすべての要素を表示していませんでした。しかし、AbsoluteLayout は非推奨です。
FrameLayout も機能しますが、ビューの整理は悪夢です。公式ドキュメントには、1 つのビューを保持するのにしか適していないと書かれているためです。
また、タッチ イベントを受信できるようにするには、次のようにする必要があります 。
Androidポップアップウィンドウの却下でさらに説明されているように
インフレートされているレイアウトの背景色を設定していないため、非表示になっています.android:background="#778899"として設定してください。