跳到主要内容

DrawerLayoutAndroid

用于封装平台 DrawerLayout 的 React component(仅限 Android)。Drawer(通常用于导航)通过 renderNavigationView 渲染,直接子元素则是主视图(放置内容的位置)。导航视图最初不会显示在屏幕上,但可以从 drawerPosition prop 指定的窗口一侧拉出,其宽度可以通过 drawerWidth prop 设置。

示例


参考

属性

View 属性

继承 View 属性


drawerBackgroundColor

指定 drawer 的背景颜色。默认值为 white。如果要设置 drawer 的不透明度,请使用 rgba。例如:

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

drawerLockMode

指定 drawer 的锁定模式。Drawer 可以处于 3 种状态:

  • unlocked(默认),表示 drawer 会响应触摸手势(打开/关闭)
  • locked-closed,表示 drawer 将保持关闭状态,且不会响应手势
  • locked-open,表示 drawer 将保持打开状态,且不会响应手势。Drawer 仍然可以通过编程方式打开和关闭(openDrawercloseDrawer
类型必填
enum('unlocked', 'locked-closed', 'locked-open')

drawerPosition

指定 drawer 从屏幕哪一侧滑入。默认设置为 left

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

drawerWidth

指定 drawer 的宽度,更准确地说,是从窗口边缘拉入的视图的宽度。

类型必填
number

keyboardDismissMode

确定键盘是否会响应拖动而关闭。

  • 'none'(默认),拖动不会关闭键盘
  • 'on-drag',拖动开始时关闭键盘
类型必填
enum('none', 'on-drag')

onDrawerClose

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

类型必填
function

onDrawerOpen

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

类型必填
function

onDrawerSlide

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

类型必填
function

onDrawerStateChanged

Drawer 状态发生变化时调用的函数。Drawer 可以处于 3 种状态:

  • idle,表示当前没有与导航视图进行交互
  • dragging,表示当前正在与导航视图进行交互
  • settling,表示刚刚与导航视图进行了交互,导航视图正在完成关闭或打开动画
类型必填
function

renderNavigationView

将在屏幕一侧渲染并可拉入的导航视图。

类型必填
function

statusBarBackgroundColor

让 drawer 占据整个屏幕,并绘制状态栏背景,以便其可以在状态栏上方打开。仅对 API 21+ 生效。

类型必填
color

方法

closeDrawer()

React TSX
closeDrawer();

关闭 drawer。


openDrawer()

React TSX
openDrawer();

打开 drawer。