我正在尝试实现一个元素,该元素将充当汉堡菜单,以从所有屏幕切换我的抽屉导航器。但是,我的汉堡菜单(又名 MenuToggle)不会出现在我的任何界面中。以下是可以重现问题的 3 个文件:
// Router.js - the main point of entry for the project
import React, { Component } from 'react';
import {DrawerNavigator} from 'react-navigation';
import Contact from './Contact';
// Router
let Router =
{
Contact:{screen:Contact},
}
const Navigator = DrawerNavigator(Router);
export default Navigator;
现在这是我的contact.js
// Contact.js
import React, { Component } from 'react';
import {StackNavigator} from 'react-navigation';
import MenuToggle from './MenuToggle';
class Contact extends Component {
static navigationOptions = {title:"Contact",drawLabel:"Contact"};
render() {
return (
<MenuToggle navigate={this.props.navigation.navigate}/>
);
}
}
let Router =
{
Contact:{screen:Contact}
}
const Navigator = StackNavigator(Router);
export default Navigator;
这是我的 MenuToggle.js
// MenuToggle.js
import React, { Component } from 'react';
import {
View,
TouchableHighlight
} from 'react-native';
export default class MenuToggle extends Component {
constructor(props)
{
super(props);
}
render() {
const style1 = {
backgroundColor:'yellow',
width:40,
height:40,
zIndex:20,
position:'absolute', // comment out this line to see the menu toggle
top:5,
right:-80,
};
const style2 = {
backgroundColor:'yellow',
}
return (
<TouchableHighlight
onPress={() => this.props.navigate('DrawerOpen')} style={style1}>
<View style={style2}></View>
</TouchableHighlight>
);
}
}
我的 MenuToggle.js 永远不会出现在联系人屏幕中。但是,如果我注释掉position:absolute
,那么它会出现在我的标题下方和左侧一点。但我需要它出现在覆盖在标题顶部的屏幕右上角。
如何让这个汉堡菜单出现在右上角的所有屏幕上?