Android StudioでListPopupWindowを作成する方法


  1. プロジェクトのセットアップ:

    • Android Studioを開き、新しいプロジェクトを作成します。
    • 必要な依存関係を追加するために、build.gradleファイルに以下の行を追加します:

      implementation 'com.android.support:appcompat-v7:{version}'

      {version}の部分は、使用しているサポートライブラリのバージョンに置き換えてください。

  2. ListPopupWindowの作成:

    • ポップアップメニューを表示するトリガーとなるViewを準備します。たとえば、ButtonやImageViewなどの任意のViewを使用できます。

    • ポップアップメニューに表示するアイテムのリストを作成します。例えば、Stringのリストを作成してみましょう。

      List<String> itemList = new ArrayList<>();
      itemList.add("アイテム1");
      itemList.add("アイテム2");
      itemList.add("アイテム3");
    • ListPopupWindowのインスタンスを作成し、必要な設定を行います。

      ListPopupWindow listPopupWindow = new ListPopupWindow(context);
      listPopupWindow.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, itemList));
      listPopupWindow.setAnchorView(triggerView);
      listPopupWindow.setWidth(ListPopupWindow.WRAP_CONTENT);
      listPopupWindow.setHeight(ListPopupWindow.WRAP_CONTENT);

      上記の例では、ポップアップメニューのアイテムにはシンプルなテキストビューが使用されています。必要に応じてカスタムレイアウトを使用することもできます。

    • ポップアップメニューが選択されたときの処理を設定します。

      listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
           // 選択されたアイテムの処理を記述します
       }
      });
  3. ポップアップメニューの表示:

    • トリガーとなるViewをクリックしたり、任意のイベントで以下のコードを実行して、ポップアップメニューを表示します。

      listPopupWindow.show();