Android Samples
Name | Größe | Rev. | Zeit | Autor | Log Message |
---|---|---|---|---|---|
![]() |
|||||
![]() |
566 | fd6e599 | 2017-11-07 21:10:51 | Masahiko, SAWAI | Misc |
![]() |
3.32 k | fd6e599 | 2017-11-07 21:10:51 | Masahiko, SAWAI | Misc |
![]() |
3.07 k | fd6e599 | 2017-11-07 21:10:51 | Masahiko, SAWAI | Misc |
! textview-find-word-in-actionmode(API Level 11) TextView に表示されているテキストを検索するUIについて。 Android 3.0 で追加されたアクションモードで実装するサンプル。 !! ToDo * AutoCompleteTextView 対応 * ScrollView 対応 !! Done * 検索を case insensitiveに * 背景色の変更 font background color * onEditorAction 対応 * Next, Prev 対応 !! ActionMode概要 特定のビューに対するアクションを選択して実行するような仕組み として 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 - アプリケーションのアンインストール