Android版Chromeのようなリストアイテムの上部にボタンが並んだメニューを、PopupWindowとしてActivity/Fragmentの上に重ねて表示します
今回はViewを細かく触らずAdapterを使って済ませたかったので、ListPopupWindowにヘッダーとしてボタンを表示し、リストとしてメニュー内容(新しいタブ、新しいシークレットタブ…)を表示します
PopupWindowでやるなら多分PopupWindow::setContentViewでできると思います
ListPopupWindow::setAdapterでListViewと同じようにアダプターを渡すと、リスト表示したPopupWindowが表示されます
ListPopupWindowはListViewのようにHeaderViewを追加することができないので、一度HeaderViewつきのListViewを用意してから、ListViewのアダプターをListPopupWindowに設定します
ListPopupWindow popupWindow = new ListPopupWindow(this);
ListView listView = new ListView(this);
listView.addHeaderView(createHeader(popupWindow.getListView()));
listView.setAdapter(createListAdapter(this));
HeaderViewListAdapter adapter = (HeaderViewListAdapter) listView.getAdapter();
popupWindow.setAdapter(adapter);
popupWindow.show();
するとChromeメニューのように、ヘッダーつきのリスト表示PopupWindowが表示されます
あとはHeaderView内にImageButtonを表示してクリックイベントを紐付ければChromeアプリのメニューのように動かせます
ソース:https://github.com/gyamoto/ChroMenu