DrawerLayoutAndroid
안드로이드 전용 플랫폼 DrawerLayout
을 감싸는 React 컴포넌트이다. Drawer(보통 네비게이션에 사용됨)는 renderNavigationView
로 렌더링되며, 직접적인 자식 요소는 메인 뷰(내용이 표시되는 부분)가 된다. 네비게이션 뷰는 처음에는 화면에 보이지 않지만, drawerPosition
prop으로 지정한 윈도우 측면에서 끌어올 수 있다. 또한 drawerWidth
prop으로 너비를 설정할 수 있다.
예제
- TypeScript
- JavaScript
참조
Props
View Props
View Props를 상속한다.
drawerBackgroundColor
드로어의 배경색을 지정한다. 기본값은 white
이다. 드로어의 투명도를 설정하려면 rgba를 사용한다. 예시:
return (
<DrawerLayoutAndroid drawerBackgroundColor="rgba(0,0,0,0.5)" />
);
타입 | 필수 여부 |
---|---|
color | 아니오 |
drawerLockMode
드로어의 잠금 모드를 지정한다. 드로어는 세 가지 상태로 잠글 수 있다:
- unlocked (기본값): 드로어가 터치 제스처에 반응하여 열리고 닫힌다.
- locked-closed: 드로어가 닫힌 상태로 유지되며 제스처에 반응하지 않는다.
- locked-open: 드로어가 열린 상태로 유지되며 제스처에 반응하지 않는다. 하지만 프로그래밍 방식으로는 여전히 열고 닫을 수 있다 (
openDrawer
/closeDrawer
).
타입 | 필수 여부 |
---|---|
enum('unlocked', 'locked-closed', 'locked-open') | 아니오 |
drawerPosition
화면의 어느 쪽에서 서랍(drawer)이 슬라이드되어 들어올지 지정한다. 기본값은 left
로 설정되어 있다.
타입 | 필수 여부 |
---|---|
enum('left', 'right') | 아니오 |
drawerWidth
드로어의 너비를 지정한다. 정확히 말하면 윈도우 가장자리에서 당겨지는 뷰의 너비를 의미한다.
타입 | 필수 여부 |
---|---|
number | 아니오 |
keyboardDismissMode
드래그 동작에 따라 키보드가 사라지는 방식을 결정한다.
- 'none' (기본값): 드래그해도 키보드가 사라지지 않는다.
- 'on-drag': 드래그를 시작하면 키보드가 사라진다.
타입 | 필수 여부 |
---|---|
enum('none', 'on-drag') | 아니오 |
onDrawerClose
네비게이션 뷰가 닫힐 때 호출되는 함수이다.
타입 | 필수 여부 |
---|---|
function | 아니오 |
onDrawerOpen
네비게이션 뷰가 열릴 때마다 호출되는 함수다.
타입 | 필수 여부 |
---|---|
function | 아니오 |
onDrawerSlide
네비게이션 뷰와 상호작용이 발생할 때마다 호출되는 함수이다.
타입 | 필수 여부 |
---|---|
function | 아니오 |
onDrawerStateChanged
드로어 상태가 변경될 때 호출되는 함수이다. 드로어는 세 가지 상태를 가질 수 있다:
- idle: 현재 네비게이션 뷰와 상호작용이 없는 상태
- dragging: 현재 네비게이션 뷰와 상호작용이 진행 중인 상태
- settling: 네비게이션 뷰와 상호작용이 있었고, 현재 드로어가 열림 또는 닫힘 애니메이션을 마무리하는 상태
타입 | 필수 여부 |
---|---|
function | 아니오 |
renderNavigationView
화면 옆에 렌더링되며, 드래그하여 표시할 수 있는 네비게이션 뷰를 정의한다.
타입 | 필수 여부 |
---|---|
function | 예 |
statusBarBackgroundColor
드로어가 전체 화면을 차지하도록 설정하고, 상태 표시줄 위에 열리도록 상태 표시줄의 배경을 그린다. 이 설정은 API 21 이상에서만 효과가 있다.
타입 | 필수 여부 |
---|---|
color | 아니오 |
메서드
closeDrawer()
closeDrawer();
드로어를 닫는다.
openDrawer()
openDrawer();
드로어를 연다.