В общем делаю приложения на моб. платформу для просмотра djvu. Но в данном случае это неважно.
Как и в других приложениях мы можем смотреть страницы, скролить, зумить.
Пока я его делаю я вижу 2 варианта проектирование так называемого viewport(представляет экран пользователя).
У каждого есть недостатки. Поэтому хотелось бы услышать советы, чей то опыт как лучше.
Припустим у нас есть страницы размещенные вертикально и viewport.
1. При зуме размеры страниц постоянные, а сам viewport уменьшается.
2. При зуме размеры страниц увеличиваются, а сам viewport остается неизменным(то есть по размеру экрана устройства).
В первом варианте — погрешности вычисления + головная боль с преобразованиями к размеру экрана
Во втором — достаточно большие погрешности при вычислении, за счет чего картинка дергается (поэтому ездит во все стороны +- несколько пикселей). А еще на каждом этапе зума нужно проходится по всем страницам и изменять размер — overhead явно.
В общем меня интересует, как правильно реализуется такая штука, возможно дайте ссылку на opensource приложение какое нибудь, где все очень плавно и красиво.
Что бы стало более понятно в чем вопрос, посмотрите на Android VuDroid приложение.
Там реализована 2 идея, за счет чего зум уже на 500-600 страницах дергается неимоверно.