文字渲染Layout 在Android中,文字渲染的基类是Layout类,它包含了文字测量、渲染和布局的所有功能,Layout类有几个子类: BoringLayout StaticLayout DynamicLayout...一般来说,如果待渲染文本是属于Spannable的文本对象,则使用动态布局DynamicLayout,否则,使用isBoring判断是不是单纯的单行布局,如果是则使用BoringLayout,其他情况使用...BoringLayout用于绘制仅一行文本的场景,它比较重要的地方是,它提供了一个静态方法isBoring来判断一段文字是否能在一行放下,这对于布局渲染是非常有帮助的。.... */ val boring = BoringLayout.isBoring(drawText, textPaint) StaticLayout StaticLayout的使用场景为多行文本的渲染和...breakText 这个API与BoringLayout中的isBoring方法有些类似,主要是对文中进行一行的测量。
&& mEllipsize == null) { des = desired(mLayout); } if (des < 0) { boring = BoringLayout.isBoring...hintDes = desired(mHintLayout); } if (hintDes < 0) { hintBoring = BoringLayout.isBoring
mEllipsize == null) { des = desired(mLayout); } if (des < 0) { boring = BoringLayout.isBoring
position)或者adapter.notifyItemRangeChanged(positionStart,itemcount) TextView 优化 原因:面对复杂文本性能不佳 方案: - BoringLayout
原因在于: 系统TextView真正排版及绘制的逻辑不在其本身,而是交给三个继承了Layout的子类负责,分别为StaticLayout、DynamicLayout、BoringLayout,我们更常用的是
领取专属 10元无门槛券
手把手带您无忧上云