답변:
보이지 않는 :
이보기는 보이지 않지만 레이아웃 목적으로 여전히 공간을 차지합니다.
지나간:
이보기는 보이지 않으며 레이아웃을위한 공간을 차지하지 않습니다.
display:none
& 와 비슷해 보입니다 visibility:hidden
:-)
에서 문서 그런 말을 할 수
View.GONE 이보기는 보이지 않으며 레이아웃을위한 공간을 차지하지 않습니다.
INVISIBLE보기이 보기는 보이지 않지만 레이아웃 목적으로 여전히 공간을 차지합니다.
일부 그림으로 아이디어를 명확하게합니다.
아래와 같이 세 개의 버튼이 있다고 가정하십시오.
이제 버튼 2의 가시성을 보이지 않음 ( View.INVISIBLE
)으로 설정하면 출력은
그리고 버튼 2의 가시성을 사라진 ( View.GONE
)으로 설정하면 출력이
이것이 당신의 의심을 없애기를 바랍니다.
가시성으로 뷰를 초기화하면 뷰가 View.GONE
초기화되지 않아 임의의 오류가 발생 한다는 올바른 대답을 추가하고 싶습니다 .
예를 들어 레이아웃을 다음과 같이 초기화하면 View.GONE
다음 애니메이션을 시작하려고하면 내 경험상 애니메이션이 무작위로 작동합니다. 때때로 그렇습니다. 가끔 그렇습니다.
따라서 뷰를 처리 (크기 조정, 이동 등)하기 전에 뷰에서 초기화 View.VISIBLE
하거나 View.INVISIBLE
화면에서 렌더링 (그리기) 한 다음 처리해야합니다.
GONE
View.INVISIBLE- >보기가 보이지 않지만 레이아웃의 일부 공간을 차지합니다.
View.GONE- >보기가 보이지 않으며 레이아웃의 공간을 차지하지 않습니다.