Fix Text incorrect line height

Summary:
@public
Setting the line height with the help of Android-provided StaticLayout is incorrect. A
simple example app will display the following when `setLineSpacing(50.f, 0.f)`
is set: {F62987699}. You'll notice that the height of the first line is a few
pixels shorter than the other lines.
So we use a custom LineHeightSpan instead, which needs to be applied to the text
itself, and no height-related attributes need to be set on the TextView itself.

Reviewed By: lexs

Differential Revision: D3841658
This commit is contained in:
Andrei Coman 2016-09-12 05:03:27 -07:00 committed by Ahmed El-Helw
parent 3061606fe6
commit 3ac0bd632c
1 changed files with 1 additions and 1 deletions

View File

@ -128,7 +128,7 @@ public class RCTTextInput extends RCTVirtualText implements AndroidView, CSSNode
super.onCollectExtraUpdates(uiViewOperationQueue);
if (mJsEventCount != UNSET) {
ReactTextUpdate reactTextUpdate =
new ReactTextUpdate(getText(), mJsEventCount, false, getPadding(), Float.NaN, UNSET);
new ReactTextUpdate(getText(), mJsEventCount, false, getPadding(), UNSET);
// TODO: the Float.NaN should be replaced with the real line height see D3592781
uiViewOperationQueue.enqueueUpdateExtraData(getReactTag(), reactTextUpdate);
}