Я пытаюсь создать эффект водной ряби на плавающем виджете, используя RadialGradient.Я рисую круг на холсте, так что все решения с волновым эффектом на изображениях здесь не применимы.
То, что я до сих пор делал, - это создание нового RadialGradient в таймере и установка шейдера краски в этот RadialGradient.Тогда я бы перерисовал.Я попытался изменить радиус и цвета, включая вариант, где можно использовать целый массив цветов, а не только два.Но ничего из того, что я попробовал, не дало ожидаемых результатов.Кто-нибудь сделал что-то подобное, или знает, есть ли обходной путь?
Внутри моего таймера у меня есть следующее:
shader = new RadialGradient(max_diameter>>1, max_diameter>>1, 10+counter++, colorStart, colorStop, Shader.TileMode.MIRROR);
counter %= 10;
paint.setShader(shader);
Это не работает, так как радиусы суммируются вграницы.Я попробовал вариант с массивом цветов, но ничего полезного не получил.
В конце я ожидаю получить волны, которые перемещаются от центра круга к границам, где расстояние между волнами составляетостается равным.