#layout.setVisibility(View.VISIBLE) #view.setVisibility(View.GONE) #android
안드로이드 JAVA 활용하여 위와 같이 구성하려면 어떻게야 할까요?
버튼을 눌렀을 경우 layout 이 보이고 한번 더누르면 layout이 사라지게 하려면?
이런 구성은 너무 많이 사용되어져서 실제 APP 구성 시 사용예가 많을 것 같네요
여기서 돋보기 버튼 클릭하면 달력날짜를 선택하는 View가 나오는것을 확인 할 수 있는데 이러한 기능을 만들 수 있습니다.
그럼 버튼 이벤트에 해당 코드를 넣어서 만들어보겠습니다.
Button button = (Button) findViewById(R.id.button);
final LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(layout.getVisibility() == View.VISIBLE){
layout.setVisibility(View.GONE);
} else {
layout.setVisibility(View.VISIBLE);
}
}
});
여기서 핵심이 바로 view.setVisibility(View.GONE); / layout.setVisibility(View.VISIBLE); 2개의 코드입니다.
setVisibility는 3가지 속성이 있습니다.
layout.setVisibility(View.VISIBLE);
해당 뷰를 보여줌
layout.setVisibility(View.INVISIBLE);
해당 뷰를 안 보여줌(공간은 존재)
layout.setVisibility(View.GONE);
해당 뷰를 안 보여줌(공간마저 감춤)
INVISIBLE과 GONE의 차이는 공간을 보여주느냐 안 보여주느냐의 차이 입니다.
만약 화면이 숨겨졌다 보였다 하는 layout 이름이 view2 이고 버튼 이름이 buttonOne이라면 아래와 같이 작성하면 되겠죠?
buttonOne.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(view2.getVisibility()==View.VISIBLE){
view2.setVisibility(View.GONE);
}else{
view2.setVisibility(View.VISIBLE);
}
}
});
'소프트웨어 > 안드로이드' 카테고리의 다른 글
http프로토콜 안드로이드 not permitted by network security policy (1) | 2020.08.04 |
---|---|
안드로이드 바탕화면 아이콘 추가 하기 (0) | 2018.02.10 |
안드로이드 admob 광고 넣기 (0) | 2018.02.06 |