action mode 也是選單的一種呈現, 只是action mode呈現時會臨時占用在 action bar 的區域來顯示(action mode 啟動時app iocn 會變成打勾符號), 其功能,設置,顯示模式與action bar 雷同. 使用如下
►建立一個 callback
►啟動方式
►建立一個 callback
►menu 呈現內容private ActionMode.Callback mCallback = new ActionMode.Callback() { @Override public boolean onPrepareActionMode( ActionMode mode, Menu menu ) { return false; } @Override public void onDestroyActionMode( ActionMode mode ) { } @Override public boolean onCreateActionMode( ActionMode mode, Menu menu ) { MenuInflater inflater = mode.getMenuInflater(); inflater.inflate( R.menu.actionmode, menu ); MenuItem item = menu.findItem( R.id.action_text ); View v = item.getActionView(); if( v instanceof TextView ) ((TextView)v).setText( "Action Mode" ); return true; } @Override public boolean onActionItemClicked( ActionMode mode, MenuItem item ) { boolean ret = false; if(item.getItemId() == R.id.actionmode_cancel) { mode.finish(); ret = true; } return ret; } };
<menu xmlns:android="<a href="http://schemas.android.com/apk/res/android"">http://schemas.android.com/apk/res/android"</a> ><br /> <item<br /> android:id="@+id/action_text"<br /> android:actionViewClass="android.widget.TextView"><br /> </item><br /> <item<br /> android:id="@+id/actionmode_cancel"<br /> android:showAsAction="never"<br /> android:title="actionmode_cancel"><br /> </item><br /> </menu>
►啟動方式
this.startActionMode( mCallback );