Don't use BoringLayout to display text that has paragraph-style markup.

BoringLayout assumes it doesn't have to do any work to calculate the
line height.  In this case, though, there may actually be work to be
done, so have it fall back to StaticLayout to do the more thorough job.

Bug 2051050
This commit is contained in:
Eric Fischer
2009-08-17 17:16:44 -07:00
parent 01f750d6fa
commit 86fcef87b8

View File

@@ -19,6 +19,7 @@ package android.text;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.text.style.ParagraphStyle;
import android.util.FloatMath;
/**
@@ -262,6 +263,14 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback
TextUtils.recycle(temp);
if (boring && text instanceof Spanned) {
Spanned sp = (Spanned) text;
Object[] styles = sp.getSpans(0, text.length(), ParagraphStyle.class);
if (styles.length > 0) {
boring = false;
}
}
if (boring) {
Metrics fm = metrics;
if (fm == null) {