diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java index 2660337e517..a4e021132f4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java @@ -26,11 +26,31 @@ public class LayoutShadowNode extends ReactShadowNode { setStyleWidth(CSSConstants.isUndefined(width) ? width : PixelUtil.toPixelFromDIP(width)); } + @ReactProp(name = ViewProps.MIN_WIDTH, defaultFloat = CSSConstants.UNDEFINED) + public void setMinWidth(float minWidth) { + setStyleMinWidth(CSSConstants.isUndefined(minWidth) ? minWidth : PixelUtil.toPixelFromDIP(minWidth)); + } + + @ReactProp(name = ViewProps.MAX_WIDTH, defaultFloat = CSSConstants.UNDEFINED) + public void setMaxWidth(float maxWidth) { + setStyleMaxWidth(CSSConstants.isUndefined(maxWidth) ? maxWidth : PixelUtil.toPixelFromDIP(maxWidth)); + } + @ReactProp(name = ViewProps.HEIGHT, defaultFloat = CSSConstants.UNDEFINED) public void setHeight(float height) { setStyleHeight(CSSConstants.isUndefined(height) ? height : PixelUtil.toPixelFromDIP(height)); } + @ReactProp(name = ViewProps.MIN_HEIGHT, defaultFloat = CSSConstants.UNDEFINED) + public void setMinHeight(float minHeight) { + setStyleMinHeight(CSSConstants.isUndefined(minHeight) ? minHeight : PixelUtil.toPixelFromDIP(minHeight)); + } + + @ReactProp(name = ViewProps.MAX_HEIGHT, defaultFloat = CSSConstants.UNDEFINED) + public void setMaxHeight(float maxHeight) { + setStyleMaxHeight(CSSConstants.isUndefined(maxHeight) ? maxHeight : PixelUtil.toPixelFromDIP(maxHeight)); + } + @ReactProp(name = ViewProps.LEFT, defaultFloat = CSSConstants.UNDEFINED) public void setLeft(float left) { setPositionLeft(CSSConstants.isUndefined(left) ? left : PixelUtil.toPixelFromDIP(left)); diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java index 42516711168..968527fc327 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java @@ -56,6 +56,11 @@ public class ViewProps { public static final String TOP = "top"; public static final String WIDTH = "width"; + public static final String MIN_WIDTH = "minWidth"; + public static final String MAX_WIDTH = "maxWidth"; + public static final String MIN_HEIGHT = "minHeight"; + public static final String MAX_HEIGHT = "maxHeight"; + // Props that affect more than just layout public static final String ENABLED = "enabled"; public static final String BACKGROUND_COLOR = "backgroundColor"; @@ -96,18 +101,26 @@ public class ViewProps { Arrays.asList( ALIGN_SELF, ALIGN_ITEMS, - BOTTOM, COLLAPSABLE, FLEX, FLEX_DIRECTION, FLEX_WRAP, - HEIGHT, JUSTIFY_CONTENT, - LEFT, + + /* position */ POSITION, RIGHT, TOP, + BOTTOM, + LEFT, + + /* dimensions */ WIDTH, + HEIGHT, + MIN_WIDTH, + MAX_WIDTH, + MIN_HEIGHT, + MAX_HEIGHT, /* margins */ MARGIN,