! actionmode-hello(API Level 11)

Android 3.0 で追加されたアクションモードのサンプル。

!! 概要

特定のビューに対するアクションを選択して実行するような仕組み
として Android 3.0 でアクションモードが追加された。

特定のViewをロングクリックなどしてそのViewに対するアクションを
アクションバーに表示して処理を行うモードに入る。

ContextMenu と同じような用途に用いる。 規定のUIであれば EditText の
テキストの選択、コピー、貼りつけの際に使われている。


アクションモードを実現するには以下の ActionMode.Callback のメソッドを実装する。

* onCreateActionMode(ActionMode mode, Menu menu) : boolean 
* onPrepareActionMode(ActionMode mode, Menu menu) : boolean 
* onActionItemClicked(ActionMode mode, MenuItem item) : boolean 
* onDestroyActionMode(ActionMode mode) : void

onCreateActionMode(ActionMode mode, Menu menu) : boolean 
はこのアクションモードに入った際に呼ばれるコールバック。
ここでアクションアイテムの作成やタイトルの設定などを行う。
ここで作成したメニューアイテムはこのアクションモード専用のものとなる。

onPrepareActionMode(ActionMode mode, Menu menu) : boolean 
はこのアクションモードになる直前に呼ばれるコールバック。
onCreateActionMode() より後でり、アクションアイテムなどの
各種ビューが初期化完了している事が期待できる。

onActionItemClicked(ActionMode mode, MenuItem item) : boolean 
はアクションアイテムがクリックした際のコールバック。

onDestroyActionMode(ActionMode mode) : void
はアクションモード終了時のコールバック。
ActionMode#finish() を呼び出したり、左上の「×」をクリックして
アクションモードが終了したときに呼ばれる。

!! 手順

基本的な流れは、
onCreateActionMode(ActionMode mode, Menu menu) : boolean 
アクションアイテムを作成して menu に追加する。

アクションアイテムがクリックされた際のリスナーである
onActionItemClicked(ActionMode mode, MenuItem item) : boolean 
で実際の処理を開始する。

アクションモードを開始するには以下のメソッドを呼び出す。
* startActionMode(ActionMode.Callback callback)


!! ビルドターゲット

http://maven-android-plugin-m2site.googlecode.com/svn/plugin-info.html

* mvn compile - アプリケーションのコンパイル
* mvn package - apk の作成
* mvn clean - ビルドファイルの削除
* mvn install - maven の local リポジトリにインストール

* mvn android:deploy - エミュレータやデバイスにインストール
* mvn android:generate-sources

* mvn install - アプリケーションのインストール
* mvn uninstall - アプリケーションのアンインストール


