7

Вопрос по android, java, animation, opengl-es – Как мне реализовать тип скручивания страницы, используемый в Google Play Книгах?

Мы искали правильный способ эмулировать тип переворачивания / скручивания страниц, используемый в приложениях для iOS, но в приложениях для Android. Самое близкое, что я видел на Android, это приложение Google Play Книги. Они используют какую-то часть SDK, которую у меня нет?не видел? Есть ли шанс получить в свои руки аналогичную реализацию?

Большинство примеров, которые я видел, построены с использованием своего рода RenderView на основе OpenGL. Это, вероятно, сработает, но я должен убедиться, что экран не отображается зря, так как я неЯ не хочу использовать слишком много энергии. Также я'Я немного боюсь использовать OpenGL при работе с текстурами, которые не Pow2.

С уважением, Калле

Я рассчитывал, что любое решение от Google в конечном итоге окажется в SDK, но я могуничего не найти в образцах. Это'Обидно, поскольку iOS делает такую анимацию доступной для разработчиков приложений.

от KalleStropp

использовать этотgithub.com/karacken/PlayLikeCurl

от Karan Kalsi

извини я непонятия не имею об этом.

от Raghunandan

использовать этиgithub.com/harism/android_page_curl а такжеcode.google.com/p/android-page-curl

от Raghunandan

Спасибо за подсказки. Я'Я видел их раньше, и они не совсем то, что я хочу. В Google Play Книги используется более привлекательная анимация.

от KalleStropp
1 ответ
3

Вы должны использовать OpenGl для создания такого эффекта в Android и

использовать следующее уравнение синусоидального графика:

у = Asin (2π / λ*Икс)

Куда,

A = Амплитуда (то есть высота завитка, который мы хотим) .λ

 = Длина волны (то есть длина завитка, который мы хотим).

x = Переменная оси X, которая будет меняться при перемещении страницы.

Вы должны нарисовать 3 страницы на SurfaceView, а именно:LeftPage ','CenterPage» а также 'RightPage ','CenterPage» всегда виден и отвечает заскручиваемость анимация покаLeftPage» Ответственный за 'левый завиток анимация и роликиRightPage» просто оставайся в покое. Для обнаружения жестов используйте класс GestureDetector по умолчанию.

Вы можете скачать образец сВот.

Похожие вопросы