в чем разница setVisibility(View.Невидимый); setVisibility(0);

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

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

4 ответов


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

0 означает видимый..Вы можете проверить здесь Разработчик Doc

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

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


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


просто так INVISIBLE имеет значение 4.

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

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


int является проблемой

DOC официальный

android: видимость

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

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

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

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

setVisibility(int)