TextView не доступен для просмотра в OpenGl Curl View Effect
В моем приложении у меня есть требование, подобное этому. У меня есть количество данных, и мне нужно показать эти данные в виде макета ListView, теперь я предполагаю, что на всех страницах я хочу показать всего 6 страниц. Я перечислил номер textview на каждой странице. Предположим, у меня есть 7 страниц, поэтому мне нужно сделать вид в виде макета для этого, я использую этот код. https://github.com/harism/android_page_curl.
с этим я могу получить такой эффект. Как упоминалось ниже.
![enter image description here]()
Теперь моя проблема: поскольку OpenGl преобразует весь макет в растровое изображение, я не могу обработать событие click textview. Когда я нажимаю на textview в это время, вызывается метод ACTION_DOWN
. И он должен быть вызван как весь макет преобразуется в растровое изображение, поэтому мы не можем обрабатывать событие click для текстового просмотра.
для решения этого вопроса googled и нашел какой-то трюк из This issue.Here упоминается, чтобы сделать отдельный макет для прослушивания кликов для прослушивания, но не получить то, что у меня есть потому что у меня нет опыта работы с OpenGl, поэтому, если у кого-то есть идея об этой проблеме, любой, кто может мне помочь обработать событие click.
Ответы
Ответ 1
Вышеупомянутые решения зависят от ваших страниц просмотров. Это может не сработать, если вы используете ListViews на своих страницах или в любом ScrollView, вам нужно проверить свою производительность приложения...
То, что я сделал, чтобы заставить его работать, заключается в создании дополнительного корневого родителя с помощью FrameLayout, размещенного поверх виджета, fi.harism.curl.CurlView и добавления PageContainer (RelativeLayout on may app).
Во время выполнения вы получите доступную страницу просмотра (View.getDrawingCache()) и добавьте к PageContainer реальный PageView (witch contains click listener). Сделайте альфа-страницу PageContainer равным 0. У вас есть дублирующаяся страница (transclude) для получения клика страницы, CurlView по-прежнему будет обрабатывать события касания для завивки.