Merge changes from topic "siyamed_maxlines" into oc-mr1-dev
* changes: StaticLayout capped height should be 0 when maxLines=0 Reset StaticLayout.mEllipsized during generate()
This commit is contained in:
committed by
Android (Google) Code Review
commit
faba49c4d3
@@ -608,6 +608,8 @@ public class StaticLayout extends Layout {
|
||||
b.setLocales(paint.getTextLocales());
|
||||
|
||||
mLineCount = 0;
|
||||
mEllipsized = false;
|
||||
mMaxLineHeight = mMaximumVisibleLineCount < 1 ? 0 : DEFAULT_MAX_LINE_HEIGHT;
|
||||
|
||||
int v = 0;
|
||||
boolean needMultiply = (spacingmult != 1 || spacingadd != 0);
|
||||
@@ -1366,7 +1368,7 @@ public class StaticLayout extends Layout {
|
||||
* The value is the same as getLineTop(maxLines) for ellipsized version where structurally no
|
||||
* more than maxLines is contained.
|
||||
*/
|
||||
private int mMaxLineHeight = -1;
|
||||
private int mMaxLineHeight = DEFAULT_MAX_LINE_HEIGHT;
|
||||
|
||||
private static final int COLUMNS_NORMAL = 4;
|
||||
private static final int COLUMNS_ELLIPSIZE = 6;
|
||||
@@ -1394,6 +1396,8 @@ public class StaticLayout extends Layout {
|
||||
|
||||
private static final double EXTRA_ROUNDING = 0.5;
|
||||
|
||||
private static final int DEFAULT_MAX_LINE_HEIGHT = -1;
|
||||
|
||||
// This is used to return three arrays from a single JNI call when
|
||||
// performing line breaking
|
||||
/*package*/ static class LineBreaks {
|
||||
|
||||
@@ -746,4 +746,15 @@ public class StaticLayoutTest {
|
||||
assertEquals(numEnglishLines, numPrivateLocaleLines);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetHeight_zeroMaxLines() {
|
||||
final String text = "a\nb";
|
||||
final TextPaint paint = new TextPaint();
|
||||
final StaticLayout layout = StaticLayout.Builder.obtain(text, 0, text.length(), paint,
|
||||
Integer.MAX_VALUE).setMaxLines(0).build();
|
||||
|
||||
assertEquals(0, layout.getHeight(true));
|
||||
assertEquals(2, layout.getLineCount());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user