Package 

Class SimpleViewManager

  • All Implemented Interfaces:
    com.facebook.react.bridge.NativeModule , com.facebook.react.uimanager.BaseViewManagerInterface

    
    public abstract class SimpleViewManager<T extends View>
    extends BaseViewManager<T, LayoutShadowNode>
                        

    Common base class for most of the ViewManagers. It provides support for most common properties through extending BaseViewManager. It also reduces boilerplate by specifying the type of shadow node to be ReactShadowNode and providing default, empty implementation for some of the methods of ViewManager interface.

    • Method Summary

      Modifier and Type Method Description
      LayoutShadowNode createShadowNodeInstance() This method should return a subclass of ReactShadowNode which will be then used formeasuring position and size of the view.
      Class<LayoutShadowNode> getShadowNodeClass() This method should return Class instance that represent type of shadow node that thismanager will return from createShadowNodeInstance.
      void updateExtraData(T root, Object extraData) Subclasses can implement this method to receive an optional extra data enqueued from thecorresponding instance of ReactShadowNode in .
      • Methods inherited from class com.facebook.react.uimanager.BaseViewManager

        getExportedCustomBubblingEventTypeConstants, getExportedCustomDirectEventTypeConstants, setAccessibilityActions, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLabelledBy, setAccessibilityLiveRegion, setAccessibilityRole, setAccessibilityValue, setBackgroundColor, setBorderBottomLeftRadius, setBorderBottomRightRadius, setBorderRadius, setBorderTopLeftRadius, setBorderTopRightRadius, setElevation, setImportantForAccessibility, setMoveShouldSetResponder, setMoveShouldSetResponderCapture, setNativeId, setOpacity, setPointerEnter, setPointerLeave, setPointerMove, setRenderToHardwareTexture, setResponderEnd, setResponderGrant, setResponderMove, setResponderReject, setResponderRelease, setResponderStart, setResponderTerminate, setResponderTerminationRequest, setRotation, setScaleX, setScaleY, setShadowColor, setShouldBlockNativeResponder, setStartShouldSetResponder, setStartShouldSetResponderCapture, setTestId, setTouchCancel, setTouchEnd, setTouchMove, setTouchStart, setTransform, setTranslateX, setTranslateY, setViewState, setZIndex
      • Methods inherited from class com.facebook.react.uimanager.ViewManager

        createShadowNodeInstance, createShadowNodeInstance, createView, getCommandsMap, getExportedViewConstants, getName, getNativeProps, getShadowNodeClass, measure, measure, onDropViewInstance, receiveCommand, receiveCommand, setPadding, updateExtraData, updateProperties, updateState
      • Methods inherited from class com.facebook.react.bridge.BaseJavaModule

        canOverrideExistingModule, getConstants, hasConstants, initialize, invalidate, onCatalystInstanceDestroy
      • Methods inherited from class com.facebook.react.uimanager.BaseViewManagerInterface

        setAccessibilityActions, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLabelledBy, setAccessibilityLiveRegion, setAccessibilityRole, setBackgroundColor, setElevation, setImportantForAccessibility, setNativeId, setOpacity, setRenderToHardwareTexture, setRotation, setScaleX, setScaleY, setShadowColor, setTestId, setTransform, setTranslateX, setTranslateY, setViewState, setZIndex
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getShadowNodeClass

         Class<LayoutShadowNode> getShadowNodeClass()

        This method should return Class instance that represent type of shadow node that thismanager will return from createShadowNodeInstance.

        This method will be used in the bridge initialization phase to collect properties exposedusing ReactProp (or ReactPropGroup) annotation from the ReactShadowNode subclass specific for native view this manager provides.

      • updateExtraData

         void updateExtraData(T root, Object extraData)

        Subclasses can implement this method to receive an optional extra data enqueued from thecorresponding instance of ReactShadowNode in .

        Since css layout step and ui updates can be executed in separate thread apart of settingx/y/width/height this is the recommended and thread-safe way of passing extra data from cssnode to the native view counterpart.

        TODO T7247021: Replace updateExtraData with generic update props mechanism after D2086999