Как медленно прокрутить увеличенное изображение, как в презентации?

Фон

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

Эта проблема

Поскольку Android имеет много типов экранов, для каждого "кадра" "презентации" я хочу, чтобы изображение было увеличено до определенной области / угла (если необходимо) и медленно выполняла автоматическую прокрутку в некотором направлении (в зависимости от того, где Я увеличил масштаб)

Такое случается на некоторых сайтах и ​​на заставках, которые показывают вашу галерею изображений.

Это означает, что на некоторых экранах будет отображаться только часть изображения, а другие части будут отображаться при прокрутке.

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

Что я пробовал

Я не мог узнать название этой функции, и поэтому я не мог знать, где ее искать.

пример

Изображение увеличено до верхнего левого угла и медленно прокручивается до правого нижнего угла.

Вопрос

Есть ли способ добиться этого с помощью API? Может быть, есть библиотека для этой работы?

Конечно, решение не должно использовать слишком много памяти независимо от качества изображений.

2 ответа

Решение

Хорошо, я нашел хороший проект под названием NotBoringActionBar, который имеет такой же эффект переключения между изображениями, как я и просил.

Класс, который отвечает за это, называется "KenBurnsView.java" .

Оригинальная библиотека - KenBurnsView.

РЕДАКТИРОВАТЬ: обратите внимание, что это не работает с динамически создаваемыми растровыми изображениями, и я написал об этом здесь.

Я не пробовал этого, но вот идея: вы можете программно увеличивать конкретную часть ImageView и периодически увеличивать другие части, которые могут быть обработаны потоком.

Смотрите этот ответ для деталей реализации увеличения

Пример:

Начните с увеличения в левом верхнем углу.

Поток будет запускаться и уведомлять вас каждые 200 мс или около того.

Получив уведомление, вы снова вызываете функцию масштабирования, но на этот раз немного уменьшаете ее, чтобы при анимации она прокручивалась вниз.

Продолжайте, пока не будет достигнут нижний правый конец.

Надеюсь это поможет.

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