이런 버튼을 floatingActionButton이라고 한다. 줄여서 FAB라고 많이 부르고, 변수명이나 속성명에도 fab를 사용하는 경우가 많다.
예.. 뭐 그렇다고 한다.
중요한건 floating 말 그대로 화면 위에 둥둥 떠 있는 버튼이다.
그래서 처음 생성하면 이렇게 그림자가 보인다.
오늘 프로젝트에서 위 이미지와 같은 아이콘 이미지가 들어가 있고, 화면의 최상단(z축 상)에 띄워져 조작할 수 있는 버튼을 구현해야 했는데, 이 floatingActionButton의 속성들이 낮설어 디자인이 참 힘들었다. 그래서 그냥 FrameLayout으로 버튼 만들어서 z축 값을 줘서 띄워버릴까 했다가...
그럼에도 이걸 포기할 수 없었던 건 floatingActionButton에서 가지고 있는 show(), hide() 때문이다.
만약 FrameLayout으로 했다면 저 애니메이션을 한땀한땀 만들어서 처리를 해줬어야겠지.. 싶다. (사실 약간 도전해봤다가 후진함)
그래서!
이번 글에서는 오늘 이 floatingActionButton을 다뤄보면서 기억해볼법한 내용들을 정리하려고 한다.
<com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/fb_scroll" android:layout_width="55dp" android:layout_height="55dp" android:layout_marginEnd="16dp" android:layout_marginBottom="16dp" android:backgroundTint="@color/white" android:scaleType="fitCenter" android:src="@drawable/ic_arrow_to_top" app:backgroundTint="@color/line_gray" app:rippleColor="@color/text_orange" app:borderWidth="1dp" app:elevation="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:shapeAppearanceOverlay="@style/FabShape" app:useCompatPadding="true" />
처음에는 둥근 네모 모양의 버튼이 주어지는데, 이 부분을 온갖 모양으로 바꿀 수 있다.
만약 원형 버튼으로 바꾸고 싶다면,
<resources> <style name="FabShape"> <item name="cornerSize">50%</item> </style> </resources>
이런 style을 하나 만들어주고,
app:shapeAppearanceOverlay="@style/FabShape"
android:backgroundTint="@color/white"
app:backgroundTint="@color/line_gray"
app:rippleColor="@color/text_orange"
app:elevation="0dp"
android:elevation="0dp"
android에도 같은 이름의 속성이 있다..[TIL-240412]