Andriod API 23(Android 6.0)起,TextView 新增了一个 breakStrategy 属性,这个属性用于控制将一段文本分割成多行时的折行策略。

breakStrategy可以通过两种方式进行设置
xml里:android:breakStrategy
java里:setBreakStrategy

可以设置的值只有三个

- BREAK_STRATEGY_SIMPLE:对应 xml 属性 "simple"
- BREAK_STRATEGY_HIGH_QUALITY:对应 xml 属性 "high_quality"
- BREAK_STRATEGY_BALANCED :对应 xml 属性 "balanced"

三种折行策略对比
- BREAK_STRATEGY_SIMPLE
简单折行。

这种策略会在每一行显示尽可能多的字符,直到这一行不能显示更多字符时才进行换行,同时这种策略下不会自动添加连词符。
在进行文本编辑时,后添加的文本不会影响前面文本的布局显示,比较适合可编辑的文本。
EditText 默认的折行策略就是这种,因为可以避免在输入文本时由于布局刷新导致的字符跳动问题,保证用户的输入体验。

- BREAK_STRATEGY_BALANCED
平衡折行。

这个策略会尽可能保证一个段落的每一行的宽度相同,必要时会添加连词符。

- BREAK_STRATEGY_HIGH_QUALITY
高质量折行。

这个策略会针对整段文本的折行进行布局优化,必要时会自动添加连词符。
和其他两种策略相比,这个策略会略微影响性能,并且需要更多时间进行文本布局。
这个策略通常比较适合只读文本,TextView 的默认折行策略就是这种。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐