-
[Android] BottomSheetBehaviorAndroid📱 2023. 10. 19. 21:34
Behavior에 대한 개념을 공부하다가 작성
Behavior란?
- CoordinatorLayout의 하위 view에 대한 상호 작용 제스처 플러그인
- 제스처는 사용자가 하위 view에서 수행할 수 있는 하나 이상의 상호 작용을 구현
- 제스처
- 드래그
- swipe
- flings
- ect
- 제스처
BottomSheetBehavior
BottomSheetBehavior은 CoordinatorLayout의 추상 클래스인 Behavior을 상속받아서 만들어진 클래스 중 하나로 Behavior을 상속받았기 때문에 자식뷰에 app:layout_behavior 속성을 xml에 선언해주면 사용이 가능해지고 Behavior의 상태를 알 수 있게 된다.
- behavior_hideable
- 아래로 드래그 시 완전히 사라짐

behavior_skipCollapsed
View를 숨길 때 접히는 상태를 무시할지 여부를 결정
false

true

behavior_draggable
드래그 가능 여부
false면 드래그 불가

behavior_fitToContents
View를 펼 때 화면을 전부 덮을 것인가
false

true

behavior_halfExpandedRatio
절반만 펼쳤을 때 View가 나오는 크기
0.7로 설정

behavior_expandedOffset
다 펼쳤을 때 위에 남겨둘 빈공간의 크기
100dp

behavior_peekHeight
View가 접혀있을때 높이
50dp

위 속성들을 xml에 정의해서 BottomSheetBehavior의 속성을 설정할 수 있다.
- BottomSheetBehavior은 CoordinatorLayout 안에 있어야한다.
- BottomSheetBehavior로 사용하고 싶은 layout app:layout_behavior="@string/bottom_sheet_behavior"를 추가해야 한다
Behavior의 상태
Behavior의 상태를 알면 코드에서 상태에 따른 컨트롤을 할 수 있게 된다.
- STATE_EXPANDED : 완전히 펼쳐진 상태
- STATE_COLLAPSED : 접혀있는 상태
- STATE_HIDDEN : 완전히 아래로 숨겨진 상태
- STATE_HALF_EXPANDED : 절반으로 펼쳐진 상태
- STATE_DRAGGING : 드래깅 되고 있는 상태
- STATE_SETTLING : 드래그/스와이프 직후 고정된 상태
'Android📱' 카테고리의 다른 글
[Android] Sensor를 이용하여 방위각 구해보기~~ (1) 2024.06.04 [Android] kotlin + gRpc 연결하기 (0) 2024.04.23 안드로이드에서의 Clean Architecture와 Google Recommendation Architecture (1) 2023.10.11 [Android] ConnectivityManager로 네트워크 상태 판단하기 (0) 2023.09.12 키보드 이벤트 리스너 (0) 2023.08.29