Enable Slider component

Summary:
Enable Slider component in Fabric on Android.

{F151706188}

Reviewed By: mdvacca

Differential Revision: D14220147

fbshipit-source-id: 10b29112e950c8de98cba995839780c4f4e8d3b6
This commit is contained in:
Joshua Gross
2019-02-26 14:33:19 -08:00
committed by Facebook Github Bot
parent 57afad1c1f
commit 3c1114eea7
12 changed files with 255 additions and 4 deletions
@@ -77,6 +77,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
sComponentNames.put("View", "RCTView");
sComponentNames.put("Image", "RCTImageView");
sComponentNames.put("ScrollView", "RCTScrollView");
sComponentNames.put("Slider", "RCTSlider");
sComponentNames.put("ReactPerformanceLoggerFlag", "ReactPerformanceLoggerFlag");
sComponentNames.put("Paragraph", "RCTText");
sComponentNames.put("Text", "RCText");
@@ -14,6 +14,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.SeekBar;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.uimanager.LayoutShadowNode;
import com.facebook.react.uimanager.ReactShadowNodeImpl;
@@ -192,4 +193,22 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
ReactSlidingCompleteEvent.EVENT_NAME,
MapBuilder.of("registrationName", "onSlidingComplete"));
}
}
@Override
public long measure(
ReactContext context,
ReadableMap localData,
ReadableMap props,
float width,
YogaMeasureMode widthMode,
float height,
YogaMeasureMode heightMode) {
SeekBar reactSlider = new ReactSlider(context, null, STYLE);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSlider.measure(spec, spec);
return YogaMeasureOutput.make(reactSlider.getMeasuredWidth(), reactSlider.getMeasuredHeight());
}
}
@@ -96,6 +96,7 @@ public class ReactTextViewManager
return MapBuilder.of("topTextLayout", MapBuilder.of("registrationName", "onTextLayout"));
}
@Override
public long measure(
ReactContext context,
ReadableMap localData,