【发布时间】:2018-01-10 02:41:20
【问题描述】:
我正在制作一个加载屏幕,并将其设置为整个屏幕的绝对位置。但是,当使用 react-navigation 时,它似乎没有覆盖标题。有没有办法将我的组件放在导航库的标题组件之上?
当您使用react-navigation 时,您可以为该屏幕配置标题。通常,当您导航到屏幕时,您在该屏幕中呈现的任何代码都会自动放置在导航标题下方。但是,我希望我的组件占据整个屏幕并覆盖标题。我想保留标题,但我想用不透明度覆盖它。这可能吗?
const navigationOptions = {
title: "Some Title",
};
const Navigator = StackNavigator(
{
First: { screen: ScreenOne },
Second: { screen: ScreenTwo },
...otherScreens,
},
{
transitionConfig,
navigationOptions, //this sets my header that I want to cover
}
);
这是我的 loader.js
const backgroundStyle = {
opacity: 0.5,
flex: 1,
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
zIndex: 1,
};
const Loading = () =>
<View style={backgroundStyle}>
<PlatformSpinner size="large" />
</View>;
在 ScreenOne.js 中
class ScreenOne extends Component {
render(){
if(loading) return <Loading/>;
return (
//other code when not loading that is placed under my header automatically
)
}
}
【问题讨论】:
-
您能否举例说明您拥有什么以及您想要实现什么?
-
当然,添加更多
-
为什么你的宽度和高度是视口单位和百分比单位?
-
其他人建议视口,所以我添加了它,但它没有做任何事情
-
要使用视口(例如高度),请编写:
100vh,而不是100vh%。
标签: javascript reactjs react-native absolute react-navigation