Project/android project
레이아웃 visibility 속성 이용하기
hi_i
2022. 4. 17. 01:29
먼저 플로팅 버튼을 이용해서 현재 사용하는 화면에 방해받지 않게끔 새로운 메뉴바? 를 띄우고 싶었다.
어떤 방법을 사용해야 하는지 알아보다 레이아웃의 visibility속성이 있다는것을 알았다.
그래서 머릿속으로 버튼 클릭이벤트를 통해 레이아웃의 visivility속성을 컨트롤 하면 내 의도대로 어렵지 않게 메뉴바를 컨트롤 할 수 있겠다고 생각했다.
일단 기본적으로 layout의 visibility에는 3가지 속성이 존재했다. visible, invisible, gone
visible은 말그대로 디폴트 속성이고 invisible과 gone은 둘다 가려지는 속성인데 차이점은
invisible속성은 내가 지정한 레이아웃이 원래 차지하는 영역만큼 영역을 가지고 있지만 눈에는 보이지 않음.
gone속성은 눈에 보이지 않을뿐만 아니라 영역조차 주지 않음.
여기서 나는 굳이 영역을 지정해줄 필요성이 없다고 판단하여 gone 속성을 주기로 했다.
속성은 아주 간단하게 if문을 사용하여 count++작업으로 visibility 속성을 세팅하도록 했다.
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(count%2 == 0) {
bar.setVisibility(View.VISIBLE);
fab.setRotation(45);
}else{
bar.setVisibility(View.GONE);
fab.setRotation(0);
}
count++;
}
});
fab는 플로팅버튼을 말하고 bar는 메뉴바이다.
fab.setRotation();은 메뉴바가 위아래로 나옴과 동시에 +모양을 x자 모양으로 회전시켜 사용자 가시성에 편의성을 주려 적용해 보았다.
추가로 메뉴바가 너무 딱딱하게 나오는것 같아 추후에 페이지 슬라이딩에 대해 공부해보고 적용해볼 생각이다.