diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java index 3d7a4299ec0546..e0984f86e09cac 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java @@ -229,7 +229,20 @@ public void setBorderColor(int position, float rgb, float alpha) { } public void setBorderRadius(float borderRadius) { - getOrCreateReactViewBackground().setRadius(borderRadius); + ReactViewBackgroundDrawable backgroundDrawable = getOrCreateReactViewBackground(); + backgroundDrawable.setRadius(borderRadius); + + if (Build.VERSION_CODES.HONEYCOMB < Build.VERSION.SDK_INT + && Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) { + final int UPDATED_LAYER_TYPE = + backgroundDrawable.hasRoundedBorders() + ? View.LAYER_TYPE_SOFTWARE + : View.LAYER_TYPE_HARDWARE; + + if (UPDATED_LAYER_TYPE != getLayerType()) { + setLayerType(UPDATED_LAYER_TYPE, null); + } + } } public void setBorderRadius(float borderRadius, int position) {