Для достижения этого эффекта необходимо выполнить следующие шаги:
- Изменить стиль заголовка навигации с абсолютным положением, прозрачным фоном и без рамки.
- Использовать компонент ImageBackground какродительский компонент для вашего экрана с изображением, которое вы хотите использовать в качестве фона.
- Добавьте верхнюю часть отступа к этому ImageBackground, чтобы исправить перекрытие.
Таким образом, ваш код должен выглядеть примерно такэто:
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;