Private Sub SetPanelCornerRadius(View As B4XView, CornerRadius As Float,TopLeft As Boolean,TopRight As Boolean,BottomLeft As Boolean,BottomRight As Boolean)
#If B4I
'https://www.b4x.com/android/forum/threads/individually-change-corner-radius-of-a-view.127751/post-800352
View.SetColorAndBorder(View.Color,0,0,CornerRadius)
Dim CornerSum As Int = IIf(TopLeft,1,0) + IIf(TopRight,2,0) + IIf(BottomLeft,4,0) + IIf(BottomRight,8,0)
View.As(NativeObject).GetField ("layer").SetField ("maskedCorners", CornerSum)
#Else If B4A
'https://www.b4x.com/android/forum/threads/gradientdrawable-with-different-corner-radius.51475/post-322392
Dim cdw As ColorDrawable
cdw.Initialize(View.Color, 0)
View.As(View).Background = cdw
Dim jo As JavaObject = View.As(View).Background
If View.As(View).Background Is ColorDrawable Or View.As(View).Background Is GradientDrawable Then
jo.RunMethod("setCornerRadii", Array As Object(Array As Float(IIf(TopLeft,CornerRadius,0), IIf(TopLeft,CornerRadius,0), IIf(TopRight,CornerRadius,0), IIf(TopRight,CornerRadius,0), IIf(BottomRight,CornerRadius,0), IIf(BottomRight,CornerRadius,0), IIf(BottomLeft,CornerRadius,0), IIf(BottomLeft,CornerRadius,0))))
End If
#Else If B4J
'https://www.b4x.com/android/forum/threads/b4x-setpanelcornerradius-only-for-certain-corners.164567/post-1008965
Dim Corners As String = ""
Corners = Corners & IIf(TopLeft, CornerRadius, 0) & " "
Corners = Corners & IIf(TopRight, CornerRadius, 0) & " "
Corners = Corners & IIf(BottomLeft, CornerRadius, 0) & " "
Corners = Corners & IIf(BottomRight, CornerRadius, 0)
CSSUtils.SetStyleProperty(View, "-fx-background-radius", Corners)
#End If
End Sub