react native 抽屉效果

在react native中,我们如果想要实现android的抽屉效果其实挺简单的,因为react-native为我们提供了DrawerLayoutAndroid这个api,使我们可以用几行代码就能实现酷炫吊炸天的动画效果,我们先来看看官网的介绍
这里写图片描述
这里主要就是介绍了drawerlayoutandroid有几个重要的方法,一个使设置宽度,一个是设置动画完成的时间,另一个是设置是否要支持手势操作,由于比较简单,直接上代码:

render() {
    const { drawer, navigator } = this.state;
        const navView = React.createElement(LeftNavigtor);
        return (
      <DrawerLayoutAndroid
                drawerWidth={200}
        drawerLockMode='locked-closed'
                drawerPosition={DrawerLayoutAndroid.positions.Left}
                renderNavigationView={() => {
                    if (drawer && navigator) {                  
                        return navView;
                    }                    
                    return null;
                }}   
                ref={(drawer) => { !this.state.drawer ? this.setDrawer(drawer) : null }}
            >
      {
        drawer &&
                <Navigator
          style={{paddingTop:55,backgroundColor:'#FFFFFF'}}
                    initialRoute={{
                id: 'homepage',
                params: {}
            }}
          ref={(navigator) => { !this.state.navigator ? this.setNavigator(navigator) : null }}
                    navigationBar={<Toolbar onIconPress={drawer.openDrawer} />}
                    configureScene={this.configureScene}
                    renderScene={this._renderRoute.bind(this)}
                />
        }
        </DrawerLayoutAndroid>

        );
  }


}

这里有几点要注意,如果你的视图只允许点击时才出现,那么你要配置drawerLockMode='locked-closed'这个属性,并且必须使 ref={(drawer) => { !this.state.drawer ? this.setDrawer(drawer) : null }}存在,然后点击时用方法 navigationBar={<Toolbar onIconPress={drawer.openDrawer} />}drawer.openDrawer
附图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值