DrawerLayoutAndroid
React 组件,封装了平台的 DrawerLayout(仅限 Android)。抽屉(通常用于导航)通过 renderNavigationView 渲染,直接子元素为主视图(即你的内容区域)。导航视图初始时不显示在屏幕上,但可以从由 drawerPosition 属性指定的窗口侧边滑出,其宽度可通过 drawerWidth 属性设置。
示例
- TypeScript
- JavaScript
参考
属性
View 属性
继承自 View 属性。
drawerBackgroundColor
指定抽屉的背景颜色。默认值为 white。如果想设置抽屉的不透明度,可以使用 rgba,例如:
tsx
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
指定抽屉从屏幕哪一侧滑出,默认值为 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()
tsx
closeDrawer();
关闭抽屉。
openDrawer()
tsx
openDrawer();
打开抽屉。