Відповіді:
НЕВИДИМИ:
Цей погляд невидимий, але він все ще займає місце для цілей компонування.
GONE:
Цей погляд невидимий, і він не займає місця для цілей компонування.
display:none
& & visibility:hidden
HTML / CSS :-)
З документації ви можете сказати це
View.GONE Цей вид невидимий, і він не займає місця для цілей компонування.
View.INVISIBLE Цей вид невидимий, але він все ще займає місце для цілей компонування.
Дозволяємо зрозуміти ідею з деякими картинками.
Припустимо, що у вас є три кнопки, як нижче
Тепер якщо ви встановите видимість кнопки два як невидиму ( View.INVISIBLE
), то вихід буде
І коли ви встановите видимість кнопки два як gone ( View.GONE
), вихід буде
Сподіваюся, це очистить ваші сумніви.
Я хотів би додати до правильних і успішних відповідей, що якщо ви ініціалізуєте подання з видимістю як View.GONE
, то перегляд можна було б не ініціалізувати, і ви отримаєте деякі випадкові помилки.
Наприклад, якщо ви ініціалізуєте макет як View.GONE
і потім ви намагаєтеся запустити анімацію, з мого досвіду я працював анімацією випадково. Іноді так, іноді ні.
Отже, перш ніж обробляти (змінювати розмір, переміщувати, будь-який) вигляд, ви повинні запустити його як View.VISIBLE
або View.INVISIBLE
зробити його (намалювати) на екрані, а потім обробити його.
GONE
коли ви робите це зникло щоразу, коли компіляція програми компонент ініціалізується, це означає, що ви видаляєте компонент з макета, і коли ви робите його невидимим, компонент займе той самий простір у макеті, але кожен раз, коли вам не потрібно ініціалізувати його .
якщо ви встановите Visibility = Gone, вам доведеться ініціалізувати компонент ..
наприклад, кнопка _mButton = нова кнопка (це);
_mButton = (Кнопка) findViewByid (R.id.mButton);
тому це займе більше часу порівняно з видимістю = невидимою.
View.INVISIBLE -> Перегляд невидимий, але він займе деякий простір у макеті
View.GONE -> Перегляд не видно, і він не займе місця в макеті