跳到主要内容
新架构实战课 实操 + 基建 + 原理全维度包揽,抢先掌握 React Native 新架构精髓 立即查看 >

DrawerLayoutAndroid

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

译注:此组件仅能在 Android 上使用。我们推荐使用跨平台的react-navigation中的 DrawerNavigation 来代替此组件。

示例


文档

Props

继承所有View 的 Props.

renderNavigationView

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

类型必需
function

onDrawerClose

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

类型必需
function

drawerPosition

设置导航视图从屏幕的哪一边拉入。

类型必需
enum(DrawerConsts.DrawerPosition.Left, DrawerConsts.DrawerPosition.Right)

drawerWidth

设置导航视图从窗口边缘拉入的视图的宽度。

类型必需
number

keyboardDismissMode

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

  • 'none' (默认),拖动时不隐藏软键盘。
  • 'on-drag',拖动时隐藏软键盘。
类型必需
enum('none', 'on-drag')

drawerLockMode

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

  • unlocked (默认),不锁定,导航视图可以响应打开和关闭操作;
  • locked-closed,导航视图保持关闭,不能用手势打开;
  • locked-open,导航视图保持打开,不能用手势关闭,但仍然可以通过程序打开或关闭。 (openDrawer/closeDrawer).
类型必需
enum('unlocked', 'locked-closed', 'locked-open')

onDrawerOpen

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

类型必需
function

onDrawerSlide

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

类型必需
function

onDrawerStateChanged

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

  • idle, 导航视图没有发生任何交互;
  • dragging, 导航视图正在发生交互;
  • settling,导航视图正在发生交互,并且导航视图正在完成其关闭或打开的动画。
类型必需
function

drawerBackgroundColor

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

return (
<DrawerLayoutAndroid drawerBackgroundColor="rgba(0,0,0,0.5)">
</DrawerLayoutAndroid>
);
类型必需
color

statusBarBackgroundColor

使抽屉占满整个屏幕,并设置状态栏颜色(支持 API21+/安卓系统 5.0 以上) 使导航视图占满整个屏幕,并设置状态栏背景,允许他在状态栏上打开。仅在 API 21 及以上版本有效。

类型必需
color

方法

openDrawer()

openDrawer();

打开导航视图。


closeDrawer()

closeDrawer();

关闭导航视图。