跳到主要内容

DrawerLayoutAndroid

封装了 Android 平台DrawerLayout的 React 组件。抽屉(通常用于导航切换)是通过renderNavigationView方法渲染的,并且 DrawerLayoutAndroid 的直接子视图会成为主视图(用于放置内容)。导航视图一开始在屏幕上并不可见,不过可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定。

示例


文档

Props

View Props

继承所有 View Props


drawerBackgroundColor

设置导航视图的背景颜色。默认值为white。如果你想设置导航视图的不透明度,请使用 rgba。例如:

tsx
return (
<DrawerLayoutAndroid drawerBackgroundColor="rgba(0,0,0,0.5)" />
);
TypeRequired
colorNo

drawerLockMode

设置导航视图的锁定模式。有 3 种状态:

  • unlocked(默认),导航视图可以响应打开和关闭的手势操作。
  • locked-closed,导航视图保持关闭,不能用手势打开。
  • locked-open,导航视图保持打开,不能用手势关闭。但仍然可以通过程序调用打开或关闭(openDrawer/closeDrawer)。
TypeRequired
enum('unlocked', 'locked-closed', 'locked-open')No

drawerPosition

设置导航视图从屏幕的哪一边滑入。默认为 left

TypeRequired
enum('left', 'right')No

drawerWidth

设置导航视图的宽度,更确切地说是从窗口边缘拉入的视图的宽度。

TypeRequired
numberNo

keyboardDismissMode

设置拖动过程中是否隐藏软键盘。

  • 'none'(默认),拖动时不隐藏软键盘。
  • 'on-drag',拖动开始时隐藏软键盘。
TypeRequired
enum('none', 'on-drag')No

onDrawerClose

导航视图被关闭后的回调函数。

TypeRequired
functionNo

onDrawerOpen

导航视图被打开后的回调函数。

TypeRequired
functionNo

onDrawerSlide

导航视图发生交互时的回调函数。

TypeRequired
functionNo

onDrawerStateChanged

导航视图的状态发生变化时的回调函数。有 3 种状态:

  • idle,导航视图没有发生任何交互。
  • dragging,导航视图正在发生交互。
  • settling,导航视图的交互已结束,正在完成关闭或打开的动画。
TypeRequired
functionNo

renderNavigationView

被拉入的导航视图的内容。

TypeRequired
functionYes

statusBarBackgroundColor

使抽屉占满整个屏幕,并设置状态栏的背景颜色,允许其在状态栏上打开。仅在 API 21+ 有效。

TypeRequired
colorNo

方法

closeDrawer()

tsx
closeDrawer();

关闭导航视图。


openDrawer()

tsx
openDrawer();

打开导航视图。