**Modal Bottom Sheet** | Persistent Bottom Sheet |
인라인 메뉴나 간단한 대화 상자의 대안이다. 기존 콘텐츠와 상호 작용하려면 Modal Bottom Sheet를 종료해야 한다. | 사용자가 기존 화면에 있는 콘텐츠와 상호작용 하면서 Persistent Bottom Sheet도 같이 볼 수 있다. |
Activity나 Fragment에 속해있지 않으며 요구에 따라 동적으로 화면에 나타난다. (마치 토스트 메시지 처럼) | Activity나 Fragment 레이아웃에 속해있다. (항상 앱의 하단에 표시되어 컨텐츠를 보여줌) |
다른 컴포넌트보다 높은 elevation(높이)를 가져 사용자의 주목을 끌도록 유도한다. | 화면에 존재하는 다른 컴포넌트와 동일한 elevation(높이)를 가진다. |
Bottom Sheet Dialog Fragment를 상속받아 사용한다. | 화면 내 다른 컴포넌트와 상호작용하기 위해 CoordinatorLayout을 최상단 레이아웃으로 사용한다. |
Dialog를 열고 닫는 것 밖에 할 수 없다. | 더 많은 정보를 얻기 위해 위로 드래그를 간략한 정보를 얻기 위해서는 아래로 드래그를 한다. |
따로 상태가 없다. (열고 닫기가 끝) | 접기, 펼치기, 드래그, 숨기기, 고정과 같은 상태를 컨트롤 할 수 있다. (리스너도 있다) |
속성 | 설명 | 기본 값 |
behavior_hideable | 아래로 드래그 시 view를 숨길지 | false |
behavor_skipCollapsed | view를 숨길 때 접히는 상태를 무시할 지 | false |
behavior_draggable | 드래그로 view를 펼치고 접을지 | true |
behavior_fitToContents | 펼쳐진 뷰의 높이가 content를 감쌀지 | true |
behavior_halfExpandedRatio | 절반만 펼쳐졌을 경우 뷰의 높이 | 0.5 |
behavior_expandedOffset | 완전히 펼쳐진 상태일 때 뷰의 오프셋 | 0dp |
behaviro_peekHeight | 뷰가 접힌 상태에서의 높이 | auto |