跳到主要内容

DrawerLayoutAndroid

React 组件,封装了平台的 DrawerLayout(仅限 Android)。抽屉(通常用于导航)通过 renderNavigationView 渲染,直接子元素为主视图(即你的内容区域)。导航视图初始时不显示在屏幕上,但可以从由 drawerPosition 属性指定的窗口侧边滑出,其宽度可通过 drawerWidth 属性设置。

示例


参考

属性

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();

打开抽屉。