안드로이드 레이아웃 버튼 보이기 숨기기
2013. 9. 22. 18:20
반응형
안드로이드에서 레이아웃이나 버튼 이미지 뷰 등등 xml에서 제어 가능한 부분을 조건에 따라 보여주고 숨길 수 있는 방법이 있었다.
layout.setVisibility(View.VISIBLE);
해당 뷰를 보여줌
layout.setVisibility(View.INVISIBLE);
해당 뷰를 안 보여줌(공간은 존재)
layout.setVisibility(View.GONE);
해당 뷰를 안 보여줌(공간마저 감춤)
INVISIBLE과 GONE의 차이는 공간을 보여주느냐 안 보여주느냐의 차이이다.
예를 들면 1 2 3 4 5 의 숫자가 있을때 3을 숨기려고 한다면
INVISIBLE은 1 2 " " 4 5 이런 식으로 3은 없지만 자리는 남아있고
GONE은 1 2 4 5 이런 식으로 3과 공간 모두 숨기게 된다.
사용 예로
LinearLayout layout = (LinearLayout) findViewById(R.id.first); LinearLayout layout2 = (LinearLayout) findViewById(R.id.second); LinearLayout layout3 = (LinearLayout) findViewById(R.id.third); switch (checkedId) { case R.id.button: layout.setVisibility(View.VISIBLE); layout2.setVisibility(View.INVISIBLE); layout3.setVisibility(View.GONE);
이렇게 사용하면 id가 button 인 버튼을 누르면
id가 first인 레이아웃은 보여지고
second 레이아웃은 보이지 않고 그냥 빈 공간만 나오게 되며
third 레이아웃은 아예 삭제된듯이 숨겨지게 된다.
그리고 버튼을 선택하기전에 초기상태에서 숨기려면 직접 xml 파일로 가서 해당 레이아웃에
android:visibility="gone"
옵션을 주면 처음부터 보여지지 않게 된다.
레이아웃 뿐만 아니라 버튼이나 이미지 뷰 텍스트 뷰 등등 여러가지도 적용할 수 있다.
반응형
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 로딩메세지 띄우기 (0) | 2013.10.27 |
---|---|
안드로이드 소리/효과음 재생이 안될때 해결책 (0) | 2013.10.24 |
안드로이드 EditText 에디트텍스트 값 남겨두기 (0) | 2013.09.09 |
안드로이드 Spinner(스피너) 값 전달하기 (11) | 2013.08.29 |
안드로이드 dip px 변환하기 (0) | 2013.07.23 |