Je voudrais mettre une barre blanche qui prendrait toute la largeur au bas de l'écran. Pour ce faire, j'ai pensé utiliser absolute
le positionnement avec les paramètres hérités flexbox
.
Avec le code suivant, cela donne quelque chose comme this .
Voici mon code:
var NavigationBar = React.createClass({
render: function() {
return(
<View style={navigationBarStyles.navigationBar}>
//Icon 1, Icon 2...
</View>
);
}
});
var Main = React.createClass({
render: function() {
return(
<View style={mainStyles.container}>
<NavigationBar />
</View>
);
}
});
var mainStyles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#456783',
}
});
var navigationBarStyles = StyleSheet.create({
navigationBar: {
backgroundColor: '#FFFFFF',
height: 30,
position: 'absolute',
flexDirection: 'row',
bottom: 0,
justifyContent: 'space-between'
},
});
Je suis nouveau dans le style en CSS et toutes les propriétés ne sont pas disponibles dans React-Native. Donc, toute aide est appréciée, merci :)
Ok, résolu mon problème, si quelqu'un passe par ici, voici la réponse:
J'avais juste à ajouter left: 0,
et top: 0,
aux styles, et oui, je suis fatigué.
position: 'absolute',
left: 0,
top: 0,
La première étape serait d'ajouter
position: 'absolute',
alors si vous voulez l’élément sur toute la largeur, ajoutez
left: 0,
right: 0,
alors, si vous voulez mettre l’élément en bas, ajoutez
bottom: 0,
// don't need set top: 0
si vous voulez positionner l'élément en haut, remplacez bottom: 0
par top: 0
Cette solution a fonctionné pour moi:
tabBarOptions: {
showIcon: true,
showLabel: false,
style: {
backgroundColor: '#000',
borderTopLeftRadius: 40,
borderTopRightRadius: 40,
position: 'relative',
zIndex: 2,
marginTop: -48
}
}