повторить с Canvas, внутрь и наружу

У меня есть векторный путь, и мне нужно нарисовать его на экране несколько раз в разных положениях.

Итак, вот в чем дело — у меня есть алгоритм позиционирования, который будет размещать элементы там, где я хочу, но один из них должен быть выделен, и индикатором этого будет увеличение размера (анимированное, конечно ), Я решил. Следовательно, поскольку это быстрая небольшая анимация, основанная на одном параметре, то есть на индексе вектора, я решил использовать API. В этом и проблема:

Вот как это отображается в настоящее время

      val size = Size(100f, 100f)
Canvas {
 repeat(n) {
  drawPath(
   mPath.apply{
    scalePath(x, y) // Here's where I wish to add the animateFloatAsState's value
   }
  )
 }
}

Теперь вы видите, что Canvas предоставляет , который не является @Composable, из-за чего я не могу создать внутри него переменную. Для работы переменной потребуется индекс элемента, поэтому крайне важно иметь доступ к этому индексу. Итак, основной вопрос: есть ли способ заставить индекс достигать , с помощью какого-либо подъема состояния или других методов, а если нет, повлияет ли это на мою производительность, если я вместо этого поставлю повторение на холст? Как в, Холсты (?), каждый из которых имеет только один элемент, но в разных позициях?

Просто чтобы вы знали, первое — это то, что я хочу здесь, поскольку, если мне придется реализовать второе, весь мой алгоритм позиционирования (который размещает несколько элементов на одном холсте), вероятно, придется отказаться, и я потратил целый день на создание то, что было сверхсложно, доставляло массу неудобств.

0 ответов

Другие вопросы по тегам