我正在尝试' DrawerLayoutAndroid'在抽屉内部做出反应,我添加了react-navigation' stackNavigator'在屏幕之间导航。What I'm trying to do
但问题是当我导航它在抽屉中打开时 如何将其作为普通页面全屏打开 有没有更好的方法来实现这一目标 (还原状态?) 提前谢谢
答案 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>
);
}
}