Как создать радиальный градиент с помощью tileMode = REPEAT в Android - PullRequest
0 голосов
/ 11 марта 2020

Мне нужно создать градиент, подобный этому изображению . Я думаю, что это должно быть реализовано программно, потому что я хочу изменить цвет градиента, ширину обводки и цвет обводки. Но если кто-то знает, как создать такой градиент с помощью XML с возможностью изменения цвета градиента, ширины обводки и цвета обводки, это тоже должно быть круто

Я попытался реализовать использование Radial Gradient:

val myDrawable = ShapeDrawable(OvalShape())
myDrawable.paint.shader = RadialGradient(50f, 33f, 55f, intArrayOf(Color.YELLOW,Color.BLUE),floatArrayOf(0.75f, 0.75f), Shader.TileMode.REPEAT)

У меня есть то, что мне нужно image gr , но я не могу установить ширину и цвет обводки.

Или когда я попытался использовать GradientDrawable:

val drawable = GradientDrawable(GradientDrawable.Orientation.BL_TR, intArrayOf(Color.YELLOW, Color.BLUE))
    drawable.shape = GradientDrawable.OVAL
    drawable.setStroke(2, Color.BLACK)
    drawable.gradientType = GradientDrawable.RADIAL_GRADIENT
    drawable.setGradientCenter(0.75f, 0.75f)
    drawable.gradientRadius = 55f

У меня есть что-то вроде мой результат 2 . это тоже не то, что мне нужно.

изображения того, что мне нужно и что я получаю (3 в 1)

...