#android #android-view #visibility #android-source
Вопрос:
Когда вы вызываете setVisibility(View.INVISIBLE)
/ setVisibility(View.GONE)
на просмотр, что на самом деле происходит за кулисами на практике, чтобы сделать вид невидимым/исчезнувшим? Я знаю, что установлен флаг с перечислением, но помимо этого в иерархии что происходит, чтобы сделать представление «невидимым» или «исчезнувшим»?
Например, View.Gone
устанавливает ли высота/ширина для вида значение 0? View.Invisible
Устанавливает ли альфа значение 0?
Комментарии:
1. Это не так просто, как просто изменить представление, когда оно изменилось. Флаги видимости постоянно проверяются родителем
ViewGroup
, поскольку они изменяют способ выполнения измерения макета, рисования, касания, фокусировки и т.д. Вы можете просто прочитать источникViewGroup
и увидеть, чтоVISIBILITY_MASK
он часто используется.