Я хотел бы поставить белую полосу, которая занимала бы всю ширину внизу экрана. Для этого я подумал об использовании absolute
позиционирования с унаследованными flexbox
параметрами.
С помощью следующего кода он отображает что-то вроде этого .
Вот мой код:
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'
},
});
Я новичок в стилях CSS, и не все свойства доступны в React-Native. Так что любая помощь приветствуется, спасибо :)
javascript
css
react-native
Иланзас
источник
источник
height:100%
не делайtop:0, bottom:0
.left:0, right:0
, а не добавлятьtop:0
, если вы установитеtop:0
иbottom:0
, она будет отображаться в полноэкранном режиме.top:0
иbottom:0
работающим в качестве замены для «height: 100%», воспользуйтесь @Premasagarleft
,top
,right
иbotton
к 0 и отлично работает.Первым шагом было бы добавить
position: 'absolute',
тогда, если вам нужна полная ширина элемента, добавьте
left: 0, right: 0,
затем, если вы хотите поместить элемент внизу, добавьте
bottom: 0, // don't need set top: 0
если вы хотите разместить элемент вверху, замените его
bottom: 0
наtop: 0
источник
Это решение сработало для меня:
tabBarOptions: { showIcon: true, showLabel: false, style: { backgroundColor: '#000', borderTopLeftRadius: 40, borderTopRightRadius: 40, position: 'relative', zIndex: 2, marginTop: -48 } }
источник