Плавное масштабирование и панорамирование всех элементов в RecyclerViewAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Плавное масштабирование и панорамирование всех элементов в RecyclerView

Сообщение Гость »


У меня есть RecyclerView с вертикальным LinearLayout. Содержимое состоит из списка изображений. Пользователи должны иметь возможность масштабировать и панорамировать, влияя на все изображения одновременно. Когда пользователь увеличивает масштаб изображения, в конечном итоге ему требуется изменить размер его контейнера. В настоящее время я не изменяю контейнер во время жеста сжатия; вместо этого, когда жест заканчивается, мы получаем новую версию изображения с возможностями масштабирования и горизонтального панорамирования, а также обрабатываем вертикальную прокрутку. Неудивительно, что произошел сбой пользовательского интерфейса. После того, как пользователь выполнит жест, мы видим изображение таким, каким оно должно быть (правда, оно обрезано, поскольку его контейнер не расширился), затем обновляем его новым изображением и прокручиваем, в конечном итоге достигая желаемого результата. Однако обновление изображения и прокрутка никак не синхронизируются. Таким образом, вы видите исходный контент, немного прокручиваете, а затем новое изображение возвращается в нужное место.

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

Когда я писал это, я убедился, что могу обновлять размер контейнера, прокручивать и обновлять матрицу по мере того, как пользователь выполняет жест. Однако, если я не вызываю подавлениеLayout(true), этот жест работает не очень хорошо, а с помощью подавленияLayout(true) я не могу вносить изменения в RecyclerView (хотя я все равно могу вносить изменения в отдельные элементы, но не прокручивать или изменять размер элементов).

Я действительно хочу, чтобы пользователь воспринимал весь список изображений как одно длинное изображение, позволяющее плавно масштабировать и панорамировать. Я чувствую, что RecyclerView работает против меня. Можно ли наложить невидимый imageView на RecyclerView, выполнить там масштабирование и панорамирование, обновить RecyclerView после завершения жеста и дождаться его стабилизации, прежде чем снова сделать imageView невидимым? Другие предложения?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Масштабирование (увеличение/уменьшение) контейнера div и панорамирование внутри контейнера
    Anonymous » » в форуме CSS
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • Холст: масштабирование и панорамирование
    Anonymous » » в форуме Jquery
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Kotlin RecyclerView в RecyclerView после обновления представление переходит в дочерний RecyclerView
    Anonymous » » в форуме Android
    0 Ответы
    80 Просмотры
    Последнее сообщение Anonymous
  • Панорамирование холста после преобразований в неправильном направлении
    Гость » » в форуме Javascript
    0 Ответы
    71 Просмотры
    Последнее сообщение Гость
  • Почему панорамирование в моей сцене Pyqt/Moderngl работает неправильно? [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»