관리 메뉴

나만을 위한 블로그

[Android] FloatingActionButton(플로팅 버튼) 본문

Android

[Android] FloatingActionButton(플로팅 버튼)

참깨빵위에참깨빵_ 2019. 11. 13. 14:33
728x90
반응형

참고) 디벨로퍼 사이트 : https://developer.android.com/guide/topics/ui/floating-action-button

 

Add a Floating Action Button  |  Android Developers

A floating action button (FAB) is a circular button that triggers the primary action in your app's UI. This page shows you how to add the FAB to your layout, customize some of its appearance, and respond to button taps. To learn more about how to design a

developer.android.com

플로팅 버튼은 단말의 오른쪽 하단에서 자주 보이는 + 모양 혹은 다른 모양의 버튼인데, 이 버튼을 누르면 그 위로 같은 모양의 둥근 버튼들이 올라와서 하고 싶은 걸 선택할 수 있도록 해주는 버튼이다.

이름부터 플로팅 액션 '버튼'인데 버튼과 리스너 등 이벤트가 비슷하지 않을까? 라고 생각했다.

 

공부해보니 구현법은 일반 버튼을 구현하는 방법과 비슷하다고 한다. 하지만 기본적으로 이미지뷰를 상속받는 위젯이라 버튼의 배경으로 쓸 이미지를 내가 지정해줄 수 있고, 서브 버튼들이 나열되도록 할 수 있다. 버튼이기 때문에 당연히 눌릴 때 발생하는 클릭 이벤트도 추가할 수 있다고 한다.

 

시험 삼아 프로젝트를 하나 새로 파고 그곳에서 플로팅 액션 버튼(이하 fab)을 찾았다.

 

그 전에 앱 수준 gradle에 아래와 같은 implements 문구를 넣어야 한다.

이 문구를 넣으면 스낵바도 같이 만들 수 있다.

 

implementation 'com.google.android.material:material:1.0.0'

 

 

그리고 MainActivity.xml에 들어가 design 탭의 palette에서 "fl"을 치니 바로 나왔다. 이름 옆의 다운로드 버튼을 눌러 gradle 파일에 implements하고 클릭 리스너를 달아봤다.

 

fb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "스낵바 등장", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
}
});

 

이렇게 해도 문제없이 화면에 출력됐다. 이것 말고도 리스너 클래스를 별도로 만들고, 그 클래스에 View.OnClickListener를 implements한 뒤에 이 리스너를 써도 정상 작동했다.

그냥 버튼인데 이미지 모양을 좀 더 다양하게 적용할 수 있는 버튼이라고 생각된다.

반응형
Comments