Трансформируемые с помощью fling?

#android-jetpack-compose #android-jetpack-compose-gesture

Вопрос:

Я пытаюсь реализовать композитное устройство, которое позволяет пользователю перетаскивать и масштабировать изображение. Кажется, что наиболее естественный способ реализовать это-использовать модификаторы pointerInput или transformable . Однако оба, похоже, не поддерживают флирт. Если я попробую это scrollable вместо этого, то бросок сработает, но одновременно можно перетаскивать только в одной ориентации (даже если я добавляю scrollable с обеих ориентаций).

Я думаю, что мой вариант использования не совсем необычен (см., Например, MapView, которому нужно что-то подобное), поэтому я немного смущен, почему Jetpack Compose не поддерживает его должным образом. Я что-то упускаю?

Комментарии:

1. Интрижка? Ты имеешь в виду пэна?

2. Под броском я подразумеваю, что если вы панорамируете с силой, а затем поднимаете палец, панорамирование должно продолжаться, постепенно замедляясь. Это стандартное поведение прокручиваемых представлений, таких как списки.

3. О, я не думаю, что это точно называется интрижкой, но да, этого можно достичь с помощью decay анимации.

4. Ах, спасибо, я не знал об animateDecay этом . В документах даже говорится, что это может быть использовано для реализации поведения броска! (Тем не менее, я не смог найти это, выполнив поиск «анимация флирта»…) Я выясню, как реализовать это в моем случае использования позже, и опубликую ответ здесь.

5. Пожалуйста,