Chciałbym umieścić biały pasek, który zajmowałby całą szerokość u dołu ekranu. W tym celu pomyślałem o zastosowaniu absolute
pozycjonowania z odziedziczonymi flexbox
parametrami.
Z następującego kodu renderuje coś jak ten .
Oto mój kod:
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'
},
});
Jestem nowy w stylizacji w CSS i nie wszystkie właściwości są dostępne w React-Native. Więc każda pomoc jest mile widziana, dzięki :)
javascript
css
react-native
ilansas
źródło
źródło
height:100%
, zróbtop:0, bottom:0
.left:0, right:0
i nie dodawaćtop:0
, jeśli ustawisztop:0
ibottom:0
, wyświetli się na pełnym ekranie.top:0
ibottom:0
pracowało jako zamiennik `` height: 100% '' do @Premasagarleft
,top
,right
ibotton
do 0 i działa idealnie.Pierwszym krokiem byłoby dodanie
position: 'absolute',
jeśli chcesz, aby element miał pełną szerokość, dodaj
left: 0, right: 0,
następnie, jeśli chcesz umieścić element na dole, dodaj
bottom: 0, // don't need set top: 0
jeśli chcesz umieścić element na górze, zamień
bottom: 0
natop: 0
źródło
To rozwiązanie zadziałało dla mnie:
tabBarOptions: { showIcon: true, showLabel: false, style: { backgroundColor: '#000', borderTopLeftRadius: 40, borderTopRightRadius: 40, position: 'relative', zIndex: 2, marginTop: -48 } }
źródło