spanの適用範囲の設定
今回もAndroidアプリ開発メモです.
テキストにspanを適用するときに,いまいちわかりづらいのが,そのオプション.
void setSpan(Object what, int start, int end, int flags)
のなかの第4引数(flags)がそれですね.ざっと見た限りでも,このflagsには
・SPAN_EXCLUSIVE_EXCLUSIVE
・SPAN_INCLUSIVE_EXCLUSIVE
・SPAN_EXCLUSIVE_INCLUSIVE
・SPAN_INCLUSIVE_INCLUSIVE など
とたくさんの種類があります.
いままでなんとなく,SPAN_EXCLUSIVE_EXCLUSIVEを使ってきましたが,必要に迫られたので上記の4つについて調べてみました.
AndroidのAPIなどによると,
・spanの適用範囲の直前直後に関する設定らしい.[直前の設定]_[直後の設定]となっている?
・INCLUSIVEは,spanの範囲を拡張する
・EXCLUSIVEは,spanの範囲を拡張しない
つまり,spanが適用されているテキストの直前直後に文字を追加した場合,flagsによって次のように変化します.
今の場合,"span"の範囲の文字色を赤にするspanが適用されていて,その前後に'*'を追加する場合を考えます.
【SPAN_EXCLUSIVE_EXCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_INCLUSIVE_EXCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_EXCLUSIVE_INCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_INCLUSIVE_INCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
このように,直前直後に追加された文字について,spanを適用するかしないかの設定となります.
(間違っていたら申し訳ないです)
他にもたくさんの種類がありますが,これらについては,時間があれば調べてみようと思います.
参考ページ:Spanned | Android Developers
テキストにspanを適用するときに,いまいちわかりづらいのが,そのオプション.
void setSpan(Object what, int start, int end, int flags)
のなかの第4引数(flags)がそれですね.ざっと見た限りでも,このflagsには
・SPAN_EXCLUSIVE_EXCLUSIVE
・SPAN_INCLUSIVE_EXCLUSIVE
・SPAN_EXCLUSIVE_INCLUSIVE
・SPAN_INCLUSIVE_INCLUSIVE など
とたくさんの種類があります.
いままでなんとなく,SPAN_EXCLUSIVE_EXCLUSIVEを使ってきましたが,必要に迫られたので上記の4つについて調べてみました.
AndroidのAPIなどによると,
・spanの適用範囲の直前直後に関する設定らしい.[直前の設定]_[直後の設定]となっている?
・INCLUSIVEは,spanの範囲を拡張する
・EXCLUSIVEは,spanの範囲を拡張しない
つまり,spanが適用されているテキストの直前直後に文字を追加した場合,flagsによって次のように変化します.
今の場合,"span"の範囲の文字色を赤にするspanが適用されていて,その前後に'*'を追加する場合を考えます.
【SPAN_EXCLUSIVE_EXCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_INCLUSIVE_EXCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_EXCLUSIVE_INCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
【SPAN_INCLUSIVE_INCLUSIVE】
追加前 : This is span test.
追加後 : This is *span* test.
このように,直前直後に追加された文字について,spanを適用するかしないかの設定となります.
(間違っていたら申し訳ないです)
他にもたくさんの種類がありますが,これらについては,時間があれば調べてみようと思います.
参考ページ:Spanned | Android Developers
- 関連記事