B4X:
			
		
		
		#AdditionalJar: com.android.support:support-compat
Sub SetSwitchColors (Switch As Switch, On As Int, Off As Int)
   Dim p As Phone
   If p.SdkVersion < 16 Then Return
   Dim DrawableCompat As JavaObject
   DrawableCompat.InitializeStatic("android.support.v4.graphics.drawable.DrawableCompat")
   Dim jo As JavaObject = Switch
   DrawableCompat.RunMethod("setTintList", Array(jo.RunMethod("getThumbDrawable", Null), CreateColorStateList(On, Off)))
End Sub
'Based on: https://www.b4x.com/android/forum/threads/colorstatelist.40788/#content
Sub CreateColorStateList(On As Int,Off As Int) As Object
   Dim sd As StateListDrawable 'ignore
   Dim States(2,1) As Int
   States(0,0) = sd.State_Checked
   States(1,0) = sd.State_Enabled
   Dim CSL As JavaObject
   CSL.InitializeNewInstance("android.content.res.ColorStateList",Array(States, Array As Int(On, Off)))
   Return CSL
End Sub
	Depends on: JavaObject, Phone