Android 筆記 - PopupMenu

 用於自訂的Menu顯示


建立資源檔



資源檔內容如下:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_add"
android:title="@string/common_add"
app:showAsAction="never"/>
<item android:id="@+id/menu_edit"
android:title="@string/common_edit"
app:showAsAction="never"/>

<!-- showAsAction 參數如下-->
<!-- never:不會在上方Action顯示選項-->
<!-- ifRoom:如果上方Action區域有空間,就會顯示-->
<!-- always:一定會顯示在Action區域上-->
<!-- withText:除了icon圖示外,也顯示item的標題文字-->

</menu>



使用方法


PopupMenu popup = new PopupMenu(context, view);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.menu_layout_id, popup.getMenu());
popup.setOnMenuItemClickListener(item -> {
switch (item.getItemId()) {
case R.id.menu_add:
break;
case R.id.menu_edit:
break;
default:
break;
}
return false;
});
popup.show();


也可以設定 Enable 與 Visible,如下:

menu.findItem(R.id.menu_add).setEnabled(false);
menu.findItem(R.id.menu_add).setVisible(false);





沒有留言:

張貼留言