wof*_*oft 6 react-native react-navigation
我使用使用React-Navigation的CRNA创建了一个项目。在其中一个屏幕中,我有一个覆盖整个屏幕的背景图像,并且我想包含标题。
喜欢这张图片:
我应该只隐藏标题并使用包含所需元素的View吗?如果是,在进行深层链接时会造成任何麻烦吗?
React Navigation提供了一个叫做headerTransparent的很酷的道具,可以用来在header下渲染东西。
因此,处的代码应如下所示:
static navigationOptions = {
headerTransparent: true
}
Run Code Online (Sandbox Code Playgroud)
Abr*_*dez 15
现在使用 React Navigation 5 我们可以做这样的事情:
{
headerShown: true,
headerTransparent: true,
}
Run Code Online (Sandbox Code Playgroud)
例如:
const Screen = ({ navigation }) => {
navigation.setOptions({
headerShown: true,
headerTransparent: true,
});
return (
<View>
<Text>Render your component</Text>
</View>
);
};
Run Code Online (Sandbox Code Playgroud)
Sha*_*dam 13
这对我有用:
navigationOptions: {
...
headerTransparent: true,
headerStyle: {
backgroundColor: 'transparent',
...
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
要实现此效果,您需要按照以下步骤操作:
因此,您的代码应该类似于以下内容:
import React, {Component} from 'react';
import {
StyleSheet,
Button,
ImageBackground,
Platform,
} from 'react-native';
import {
createStackNavigator,
} from 'react-navigation';
class HomeScreen extends Component {
render() {
return (
<ImageBackground
style={styles.container}
source={require('./images/bg.png')}
>
<Button
onPress={() => {}}
title="Just a button"
/>
</ImageBackground>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: Platform.OS === 'ios' ? 60 : 80,
}
});
const App = createStackNavigator({
Home: {
screen: HomeScreen,
navigationOptions: {
title: 'Home',
headerStyle: {
position: 'absolute',
backgroundColor: 'transparent',
zIndex: 100,
top: 0,
left: 0,
right: 0,
elevation: 0,
shadowOpacity: 0,
borderBottomWidth: 0,
}
},
}
})
export default App;
Run Code Online (Sandbox Code Playgroud)
如果使用React Navigation 6.x,选项是相同的headerTransparent
:
<Stack.Screen
name="BottomTab"
component={BottomTabNavigator}
options={{
headerTransparent: true,
}}
/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5503 次 |
最近记录: |