AndroidのTextViewをカスタムする
そろそろスマートフォンにもAndroid4.0が普及してきそうだ。Android4.0へのアップデート情報や4.0搭載の新機種の話題がたくさん。
タブレットは普及しているのかは不明だが(我が家にはTF101がある)、
GoogleのNexusタブレットはかなり低価格で販売されそうだとの噂もちらほら。
アプリもいろいろとついていかないといけないなぁと思い
最近はもっぱらAndroid Developer's のReferenceを読みふけっている。
Android3.0以降から使えるようになったAPIはたくさんあるので
勉強してアプリに組み込んでいきたい。
今日はTextViewについてメモっとく。
TextViewは、Android3.0以降から長押しでテキスト選択可能になっている。
テキスト選択するには
TextView#setTextIsSelectable(true)
で選択可能にしてあげると選択モードに切り替わる。
選択モードになると
すべて選択とコピーがアクションバーに表示されるのだが、
これだけだと微妙に使い勝手が悪い。
で、選択モードをカスタムできちゃうのがこのメソッド
TextView#setCustomSelectionActionModeCallback()
使用方法はこんな感じ こんなコールバックインターフェースを実装する。
private class TextSelectActionMode implements ActionMode.Callback { @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { if ("custom".equals(item.getTitle())){ // テキストに対してなんらかの処理をする // 例えば、選択した文字列を()でくくるとか } return false; } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { // アクションアイテムを作る MenuItem cutItem = menu.add("custom"); cutItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); cutItem.setIcon(R.drawable.icon); return true; } @Override public void onDestroyActionMode(ActionMode mode) { } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } }そして、以下のようにTextViewにセットするだけでカスタムしたテキストビューができる。
TextView.setCustomSelectionActionModeCallback(new TextSelectActionMode());
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿