169 похожих чатов

Вялый и бессмысленный вопрос длиннопостом. У View в классе AttachInfo есть

поле ViewTreeObserver, которое можно получить через getViewTreeObserver(). У каждой вьюхи - свой инстанс поля.

Читаю доку к этому полю:

The view tree observer used to dispatch global events like layout, pre-draw, touch mode change, etc.

И вот этот вот термин view tree, он что обозначает - всё дерево вьюх, начиная ажно с DecorView, или все же что - то другое, что ассоциируется с конкретной вью, у которой мы инстанс берём? Мб ветвь, для которой наша вью является корневой.

Вешать слушателя на всё дерево - эт чёт жоска как - то, и бессмыслено чтоль в контесте того что у каждой вью свой инстанс этого обсервера. Нафига каждый раз новый инстанс создавать, можно ж один юзать для всех и бед не знать.

Есть такое ещё определение для ViewTreeObserver, но оно в отрыве от контекста вьюхи:

A view tree observer is used to register listeners that can be notified of global changes in the view tree.

Тут явно пишут, что наблюдение идёт за всем деревом в целом. Но чёт как - то не.

Вопрос вообще пошёл от метода addOnGlobalLayoutListener, юзать я его юзаю а как он работает чёт 0 понимания.

Вот его определение:

Register a callback to be invoked when the global layout state or the visibility of views within the view tree changes

Я нихрена не понимаю что такое global layout state. Вторую часть допустим понимаю - обсервер будет выполнять экшн каждый раз, когда какая - либо вьюха в дереве поменяла visibility. А первая чатсь определения что значит?

3 ответов

15 просмотров

никто это не будет читать

Всё, что внутри AttachInfo — одна шт на окно.

Под global layout state, скорее всего, подразумевается добавление/удаление вьюх в дереве

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта