进阶 reactnative.dev 2026-10-11 06:04:21 · 21 阅读
第32章 React Native DrawerLayoutAndroid 抽屉布局组件详解
版本:0.77
DrawerLayoutAndroid 是一个包裹平台原生 DrawerLayout(仅限 Android)的 React 组件。该抽屉通常用于导航,通过 renderNavigationView 渲染,而其直接子组件则是主视图(放置内容的地方)。导航视图默认不可见,可以从由 drawerPosition 属性指定的窗口一侧拉出,其宽度可通过 drawerWidth 属性设置。
示例
TypeScript JavaScript
参考文档
属性
View 属性
继承 View 的属性。
drawerBackgroundColor
指定抽屉的背景色,默认值为白色。如需设置抽屉的透明度,请使用 rgba。示例:
```tsx
return (
);
```
类型必填color否
drawerLockMode
指定抽屉的锁定模式。抽屉有 3 种锁定状态:
unlocked(默认),抽屉响应触摸手势(开/关)。
locked-closed,抽屉保持关闭,不响应手势。
locked-open,抽屉保持打开,不响应手势。但仍可通过代码(openDrawer/closeDrawer)控制其开关。
类型必填enum('unlocked', 'locked-closed', 'locked-open')否
drawerPosition
指定抽屉从屏幕哪一侧滑出,默认为左侧。
类型必填enum('left', 'right')否
drawerWidth
指定抽屉的宽度,确切地说是从窗口边缘拉出的那个视图的宽度。
类型必填number否
keyboardDismissMode
决定拖动时是否收起键盘。
'none'(默认),拖动不会收起键盘。
'on-drag',拖动开始时收起键盘。
类型必填enum('none', 'on-drag')否
onDrawerClose
导航视图关闭时调用的函数。
类型必填function否
onDrawerOpen
导航视图打开时调用的函数。
类型必填function否
onDrawerSlide
与导航视图有交互时调用的函数。
类型必填function否
onDrawerStateChanged
抽屉状态变化时调用的函数。抽屉有 3 种状态:
idle,当前没有与导航视图的交互
dragging,正在与导航视图交互
settling,交互已结束,导航视图正在完成关闭或打开的动画
类型必填function否
renderNavigationView
渲染在屏幕侧面、可以拉出来的导航视图。
类型必填function是
statusBarBackgroundColor
让抽屉占据整个屏幕,并绘制状态栏的背景色,使其可以从状态栏上方打开。仅在 API 21+ 上生效。
类型必填color否
方法
closeDrawer()
React TSXcloseDrawer();
关闭抽屉。 openDrawer() React TSXopenDrawer();
打开抽屉。
关闭抽屉。 openDrawer() React TSXopenDrawer();
打开抽屉。