Android 8.0.0で、不正な位置でテキストが折り返される

こちらのチケットで報告されているように、Android Oreo 8.0.0のTextViewにはテキスト折り返しのバグが存在する。

文節の長い文章をTextViewを表示させた場合、TextViewを画面幅一杯に広げている場合でも以下のように8.0.0のみ右端に大きな余白が空いてしまう場合がある。

7.0 8.0.0 8.1.0
7.0 8.0.0 8.1.0

テキスト折り返しのルールは、Android 6.0で追加されたbreakStrategyプロパティによって制御できる。このルールは以下の三種類あり、デフォルトでは最も手厚いBREAK_STRATEGY_HIGH_QUALITYが利用される。

このうちデフォルトで用いられているBREAK_STRATEGY_HIGH_QUALITYによるテキスト折り返しについて8.0.0のみ実装にバグがあるようで、8.1.0ではこの点が修正されている。

8.0.0で発生するこのバグを迂回するためには、BREAK_STRATEGY_SIMPLEを明示的に指定する。

8.0.0 HIGH_QUALITY 8.0.0 SIMPLE 8.1.0 HIGH_QUALITY
8.0.0 HIGH_QUALITY 8.0.0 SIMPLE 8.1.0 HIGH_QUALITY
Kensuke Kosaka

Kensuke Kosaka

Androidアプリエンジニア。綺麗な景色・星空を写真に納めたり、万年筆で文字を書いたり、ラブコメを読むのが好き。
Japan