Я создаю пользовательский элемент управления расширением галереи Android.Мне нужен эффект наложения наложенных изображений, поэтому я выдаю
setSpacing(-60);
. После того, как я это сделаю, у меня в Галерее три значка: сначала нарисованы 1, 3, а затем 2, которая является центральной.Правила того же самого определены в getChildDrawingOrder
и также включили его как
setChildrenDrawingOrderEnabled(true);
Теперь проблема заключается в том, что представления прорисовываются так, как я определил правила в порядке.Но события в элементе управления галереей идут в исходном порядке просмотра, т.е. 1,2,3.Чтобы объяснить лучше,
1 рисуется, 3 рисуется и, наконец, 2 рисуется, и они перекрывают друг друга.Таким образом, представление имеет 50% от 1, 100% от 2 и 50% от третьего вида.
Но когда я касаюсь представлений, android предполагает, что 50% из 1, 50% из 2 и 100% из 3виден на экране.Чтобы прояснить это немного, после 50% просмотра 1, если я нажму, 2 будет сфокусировано (как и должно быть, потому что, согласно моему правилу рисования, 2 сверху 1).
Но когда я щелкаю в любом месте после 50% просмотра 2, фокус переходит на 3, в то время как в соответствии с порядком рисования 3 там не видно, 100% из 2 видна, но для 50% площадизрения 1, основное внимание уделяется виду 2.
Не могли бы вы помочь поделиться своими мыслями о том, как мы можем решить эту проблему, навязывая порядок событий в соответствии с шаблоном представления на экране?