Какая разница setVisibility (View.INVISIBLE); setVisibility (0);

Я встретил странную проблему, когда я установил видимость в текстовом виде как text.setVisibility(0); Я не могу скрыть это текстовое представление. Но после обновления кода до text.setVisibility(View.INVISIBLE) текст скрыт...

Я понятия не имею, почему это произошло....

Ответ 1

У вас есть неправильное представление, я думаю,

0 означает VISIBLE. Здесь вы можете проверить Doc для разработчиков

0 is for VISIBLE
4 is for INVISIBLE 
8 is for GONE

Итак, ничего плохого в вашем случае, его работа правильно, как вы передали параметр.

Ответ 2

Это потому, что 0 означает VISIBLE. INVISIBLE - 4. Это постоянные значения, определенные в View:

Ответ 3

Просто, потому что INVISIBLE имеет значение 4.

Итак, попробуйте этот код text.setVisibility(4);

Будет работать.

Ответ 4

Проблема int

DOC ОФИЦИАЛЬНЫЙ

Android: обзор

Управляет начальной видимостью представления.

Должно быть одно из следующих постоянных значений.

Постоянное значение Описание видимый 0 Видимый на экране; значение по умолчанию. невидимый 1 Не отображается, но учитывается при компоновке ушел 2 Полностью скрыт, как будто представление не было добавлено.

Это соответствует видимости символа ресурса глобального атрибута. Связанные методы

setVisibility(int)