Sub DrawGradient(BG As Canvas, X1 As Float, Y1 As Float, X2 As Float, Y2 As Float, TheColors() As Int,Positions() As Float, StrokeWidth As Float, TileModeInt As Int, GradientType As Int)
Dim Paint As JavaObject,LinearGradient As JavaObject, CanvJO As JavaObject = BG, TileMode As String = "CLAMP"
Select Case TileModeInt
Case 1: TileMode = "MIRROR"
Case 2: TileMode = "REPEAT"
End Select
Select Case GradientType
Case 0: LinearGradient.InitializeNewInstance("android.graphics.LinearGradient", Array As Object(X1,Y1, X2,Y2,TheColors,Positions,TileMode))'Linear
Case 1: LinearGradient.InitializeNewInstance("android.graphics.RadialGradient", Array As Object(X1,Y1, X2,TheColors,Positions,TileMode))'Radial
Case 2: LinearGradient.InitializeNewInstance("android.graphics.SweepGradient", Array As Object(X1,Y1,TheColors,Positions,TileMode))'Sweep
End Select
Paint.InitializeNewInstance("android.graphics.Paint",Null)
Paint.RunMethod("setStrokeWidth", Array As Object(StrokeWidth))
Paint.RunMethod("setAntiAlias", Array As Object(True))
Paint.RunMethod("setShader", Array As Object(LinearGradient))
CanvJO = CanvJO.GetField("canvas")
CanvJO.RunMethod("drawLine", Array As Object(X1,Y1,X2,Y2,Paint))
End Sub