diff --git a/android/src/main/java/com/swmansion/rnscreens/Screen.kt b/android/src/main/java/com/swmansion/rnscreens/Screen.kt index f397980ee6..eb3e7182a9 100644 --- a/android/src/main/java/com/swmansion/rnscreens/Screen.kt +++ b/android/src/main/java/com/swmansion/rnscreens/Screen.kt @@ -34,6 +34,7 @@ import com.swmansion.rnscreens.events.SheetDetentChangedEvent import com.swmansion.rnscreens.ext.asScreenStackFragment import com.swmansion.rnscreens.ext.parentAsViewGroup import com.swmansion.rnscreens.gamma.common.FragmentProviding +import kotlin.math.max @SuppressLint("ViewConstructor") // Only we construct this view, it is never inflated. class Screen( @@ -518,7 +519,7 @@ class Screen( return } (background as? MaterialShapeDrawable?)?.let { - val resolvedCornerRadius = PixelUtil.toDIPFromPixel(sheetCornerRadius) + val resolvedCornerRadius = max(PixelUtil.toDIPFromPixel(sheetCornerRadius), 0f) it.shapeAppearanceModel = ShapeAppearanceModel .Builder() diff --git a/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt b/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt index 1e77408dfc..e372ca3e6a 100644 --- a/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +++ b/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt @@ -39,6 +39,7 @@ import com.swmansion.rnscreens.stack.views.ScreensCoordinatorLayout import com.swmansion.rnscreens.transition.ExternalBoundaryValuesEvaluator import com.swmansion.rnscreens.utils.DeviceUtils import com.swmansion.rnscreens.utils.resolveBackgroundColor +import kotlin.math.max sealed class KeyboardState @@ -367,7 +368,7 @@ class ScreenStackFragment : } private fun attachShapeToScreen(screen: Screen) { - val cornerSize = PixelUtil.toPixelFromDIP(screen.sheetCornerRadius) + val cornerSize = max(PixelUtil.toPixelFromDIP(screen.sheetCornerRadius), 0f) val shapeAppearanceModel = ShapeAppearanceModel .Builder()