2013-08-19 4 views
7

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

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

С наилучшими пожеланиями, KALLE

+1

используйте эти https://github.com/harism/android_page_curl и http://code.google.com/p/android-page-curl/ – Raghunandan

+2

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

+0

Извините, я не очень понимаю. – Raghunandan

ответ

2

Вы должны использовать OpenGL для создания такого эффекта в Android и должны использовать в ниже общего синусоидальный уравнение графика: -

у = Асин (2π/λ * х)

Где

A = Amplitude (т.е. высота завиток мы хотим).

λ = Длина волны (т. Е. Длина завитка, который мы хотим).

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

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

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