Saya ingin meletakkan bilah putih yang akan mengambil semua lebar di bagian bawah layar. Untuk melakukannya, saya berpikir untuk menggunakan absolute
pemosisian dengan flexbox
parameter yang diwariskan .
Dengan kode berikut ini membuat sesuatu seperti ini .
Ini kode saya:
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'
},
});
Saya baru mengenal gaya dalam CSS dan tidak semua properti tersedia di React-Native. Jadi bantuan apa pun dihargai, terima kasih :)
javascript
css
react-native
ilansas
sumber
sumber
height:100%
, lakukantop:0, bottom:0
.left:0, right:0
, dan tidak boleh menambahkantop:0
, jika Anda mengaturtop:0
danbottom:0
, itu akan menampilkan layar penuh.top:0
danbottom:0
bekerja sebagai pengganti `` tinggi: 100% ", bawa ke @Premasagarleft
,top
,right
danbotton
ke 0 dan bekerja sempurna.Langkah pertama adalah menambahkan
position: 'absolute',
lalu jika Anda menginginkan elemen dengan lebar penuh, tambahkan
left: 0, right: 0,
lalu, jika Anda ingin meletakkan elemen di bagian bawah, tambahkan
bottom: 0, // don't need set top: 0
jika Anda ingin menempatkan elemen di atas, ganti
bottom: 0
dengantop: 0
sumber
Solusi ini berhasil untuk saya:
tabBarOptions: { showIcon: true, showLabel: false, style: { backgroundColor: '#000', borderTopLeftRadius: 40, borderTopRightRadius: 40, position: 'relative', zIndex: 2, marginTop: -48 } }
sumber