В чем разница между статусом видимости invisibleи goneдля него?
В чем разница между статусом видимости invisibleи goneдля него?
Ответы:
INVISIBLE:
Это представление невидимо, но все же занимает место для макета.
УШЕЛ:
Это представление невидимо, и оно не занимает места для макета.
display:none& visibility:hiddenв HTML / CSS :-)
Из документации можно сказать, что
View.GONE Этот вид невидим, и он не занимает места для макета.
View.INVISIBLE Это представление невидимо, но все же занимает место для макета.
Давайте проясним идею с некоторыми картинками.
Предположим, что у вас есть три кнопки, как показано ниже

Теперь, если вы установите видимость Button Two как invisible ( View.INVISIBLE), тогда вывод будет

И когда вы установите видимость Button Two как пошел ( View.GONE), то вывод будет

Надеюсь, это очистит ваши сомнения.
Я хотел бы добавить к правильным и успешным ответам, что если вы инициализируете представление с видимостью as View.GONE, представление могло быть не инициализировано, и вы получите некоторые случайные ошибки.
Например, если вы инициализируете макет как, View.GONEа затем пытаетесь запустить анимацию, из моего опыта моя анимация работает случайным образом. Иногда да, иногда нет.
Таким образом, перед обработкой (изменением размера, перемещением и т. Д.) Представления вы должны инициировать его как View.VISIBLEили View.INVISIBLEотрисовать (нарисовать) на экране, а затем обработать его.
GONE
когда вы делаете это Унесенным каждый раз при компиляции программы, компонент инициализируется, что означает, что вы удаляете компонент из макета, а когда вы делаете его невидимым, компонент занимает то же место в макете, но каждый раз, когда вам не нужно его инициализировать ,
если вы установите Visibility = Gone, то вы должны инициализировать компонент .. как
например, кнопка _mButton = новая кнопка (это);
_mButton = (кнопка) findViewByid (R.id.mButton);
так что это займет больше времени по сравнению с Visibility = invisible.
View.INVISIBLE -> View невидим, но он будет занимать некоторое место в макете
View.GONE -> Вид не виден и не будет занимать места в макете