Как прослушивать обновления пользовательского интерфейса, которые происходят за прозрачным представлением - PullRequest
0 голосов
/ 30 октября 2018

В настоящее время я пытаюсь выяснить, когда происходит обновление пользовательского интерфейса за прозрачным представлением.

Это прозрачное представление, которое я хотел бы "зарегистрировать" для этих событий.

Я уже пытался расширить любое представление и перехватить метод onDraw, однако он никогда не срабатывает, когда что-либо обновляется позади представления.

Я также пытался ViewTreeObserver addOnPreDrawListener, addOnDrawListener и addOnGlobalLayoutListener, они также никогда не срабатывают, когда что-либо обновляется позади представления.

Я также пытался сделать то же, что и выше, но приложил к rootView, тот же результат.

Есть ли способ достичь этого, и если да, то как?

РЕДАКТИРОВАТЬ: Контекст запрашивается в комментариях

Я хочу создать размытое изображение того, что скрывается за прозрачным видом, и я хочу, чтобы оно было актуальным, то есть, если фон обновляет размытое изображение, также обновляются. Я не хочу учиться размыть, я уже могу это сделать, это не тот вопрос, о котором идет речь.

1 Ответ

0 голосов
/ 10 декабря 2018

Похоже, что это невозможно, поскольку пользовательский интерфейс в том же окне привязан к самому себе. Это означает, что каждый раз, когда пользовательский интерфейс текущего окна обновляется, представление, которое я хотел изменить, также запускает обновление пользовательского интерфейса, что приводит к рекурсивному цикл. * * 1 001

Кроме того, если представление не видно, любые изменения в нем не вызывают никаких флагов пользовательского интерфейса, это означает, что представления, которые изменяются за любым статическим представлением, не будут вызывать события, которые могли бы работать для того, что я хотел.

...