возможно ли перехватывать обновления экрана в андроиде?
Я реализовал пользовательский LinearLayout, переопределяющий метод onDraw()
, но он будет вызываться только тогда, когда я не нажимаю на дочерние элементы, а где-то еще.
например. когда у меня есть кнопка в этой группе представлений и я нажимаю на эту кнопку, метод onDraw()
не будет вызываться на корневом уровне. С другой стороны, если я коснусь TextView, onDraw()
будет вызвано на корневом уровне. Кажется, что некоторые элементы используют метод onDraw()
и не передают его родителю. Есть ли другой метод или событие, которое я могу поймать, чтобы получить все обновления корневого представления и его дочерних элементов на корневом уровне, кроме расширения каждого возможного дочернего элемента и создания пользовательских реализаций?
Редактировать: Может быть, я должен немного уточнить это. Моя цель - получать растровые изображения дочерних представлений каждый раз, когда они меняются. Так, например если кнопка является дочерним представлением, я хочу нарисовать представление в растровом изображении (получить кэш чертежа или вызвать draw () вручную на пользовательском холсте). Проблема с использованием, например, onClickListener заключается в том, что состояние кнопки, когда она нажата, на самом деле «нажата», мне также нужно изображение состояния кнопки, которое устанавливается после и до того, как она была нажата (http://developer.android.com/design/style/touch-feedback.html). Еще одна проблема заключается в том, что я не знать, какие и сколько дочерних представлений присутствуют, это должно работать для каждого возможного созданного макета. Так что onClickListeners также не вариант, за исключением того, что я перебрал бы все дочерние элементы и проверил, какой у них тип. Но все же есть проблема с различными состояниями. .