跳到主要内容

DrawerLayoutAndroid

包装了平台DrawerLayout(仅限 Android)的 React 组件。抽屉(通常用于导航)通过 renderNavigationView 渲染,直接子元素是主视图(内容所在的位置)。导航视图初始时在屏幕上不可见,但可以从 drawerPosition 属性指定的窗口侧滑入,其宽度可以通过 drawerWidth 属性设置。

示例


参考

属性

View Props

继承自 View Props


drawerBackgroundColor

指定抽屉的背景颜色。默认值为 white。如果想设置抽屉的透明度,请使用 rgba。示例

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

drawerLockMode

指定抽屉的锁定模式。抽屉可以锁定在 3 种状态

  • unlocked(默认),表示抽屉将响应(打开/关闭)触摸手势。
  • locked-closed,表示抽屉将保持关闭状态,不响应手势。
  • locked-open,表示抽屉将保持打开状态,不响应手势。抽屉仍可通过编程方式(openDrawer/closeDrawer)打开和关闭。
类型必需
enum('unlocked', 'locked-closed', 'locked-open')

drawerPosition

指定抽屉滑入的屏幕侧。默认设置为 left

类型必需
enum('left', 'right')

drawerWidth

指定抽屉的宽度,更准确地说,是可从窗口边缘滑入的视图的宽度。

类型必需
数字

keyboardDismissMode

确定在响应拖动时键盘是否被隐藏。

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

onDrawerClose

每当导航视图关闭时调用的函数。

类型必需
函数

onDrawerOpen

每当导航视图打开时调用的函数。

类型必需
函数

onDrawerSlide

每当与导航视图发生交互时调用的函数。

类型必需
函数

onDrawerStateChanged

当抽屉状态发生变化时调用的函数。抽屉有 3 种状态

  • idle,表示此时没有与导航视图发生交互
  • dragging,表示目前正在与导航视图发生交互
  • settling,表示曾与导航视图发生交互,并且导航视图现在正在完成其关闭或打开动画
类型必需
函数

renderNavigationView

将渲染到屏幕侧边并可滑入的导航视图。

类型必需
函数

statusBarBackgroundColor

使抽屉占据整个屏幕并绘制状态栏背景,以便它可以在状态栏上方打开。它仅在 API 21+ 上生效。

类型必需
颜色

方法

closeDrawer()

tsx
closeDrawer();

关闭抽屉。


openDrawer()

tsx
openDrawer();

打开抽屉。