DrawerLayoutAndroid in native native

时间:2017-12-27 03:18:51

标签: react-native react-navigation

我正在尝试' DrawerLayoutAndroid'在抽屉内部做出反应,我添加了react-navigation' stackNavigator'在屏幕之间导航。What I'm trying to do

但问题是当我导航它在抽屉中打开时 如何将其作为普通页面全屏打开 有没有更好的方法来实现这一目标 (还原状态?) 提前谢谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方案 我所做的是创建一个路由页面并将其添加为根组件

routes.js

    import Main from '../screens/main';
    import Ad from '../screens/adView';
    export const AdNav = StackNavigator({
      Home:{screen:Main,
      navigationOptions:{
        header:null,
       }  
    },
      Ad:{screen:Ad,
      navigationOptions:{
        title:'Details',      
    }}
    }

    );

App.js

import {AdNav} from './src/config/routes';

export default class App extends Component<{}> {

  render() {
   return (
   <View style={styles.container}> 
       <AdNav />
   </View>
   );
  }
}

然后我将DrawerLayoutAndroid添加到主屏幕 在抽屉布局中,我使用stackNavigator进行导航,没有任何问题

使用DrawerLayoutAndroid的主屏幕

render() {
var navigationView = (
<View style={{flex: 1}}>
<Button onPress={()=>this.props.navigation.navigate('Ad')} title="go to next page"/>
</View>
 );
return (
<DrawerLayoutAndroid
      drawerWidth={300}
      drawerPosition={DrawerLayoutAndroid.positions.Left}
      renderNavigationView={() => navigationView}>
<View style={styles.container}>
{/*content*/}
</View>        
    </DrawerLayoutAndroid>

);
}
}