【发布时间】:2017-12-27 23:43:03
【问题描述】:
我正在尝试在抽屉内反应原生的“DrawerLayoutAndroid”我添加了反应导航“stackNavigator”以在屏幕之间导航。What I'm trying to do
但问题是当我导航时它会在抽屉中打开
如何将其作为普通页面全屏打开
有没有更好的方法来实现这一点
(还原状态?)
提前谢谢你
【问题讨论】:
标签: react-native react-navigation
我正在尝试在抽屉内反应原生的“DrawerLayoutAndroid”我添加了反应导航“stackNavigator”以在屏幕之间导航。What I'm trying to do
但问题是当我导航时它会在抽屉中打开
如何将其作为普通页面全屏打开
有没有更好的方法来实现这一点
(还原状态?)
提前谢谢你
【问题讨论】:
标签: react-native react-navigation
我找到了解决方案 我所做的是创建一个路由页面并将其添加为根组件
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>
);
}
}
【讨论】: