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 件のコメント :
コメントを投稿