Action Bar -Action Mode

1 篇文章 / 0 new
author
Action Bar -Action Mode
action mode 也是選單的一種呈現, 只是action mode呈現時會臨時占用在 action bar 的區域來顯示(action mode 啟動時app iocn 會變成打勾符號), 其功能,設置,顯示模式與action bar 雷同. 使用如下
►建立一個 callback
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 呈現內容
<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 );
Free Web Hosting