Saya memiliki solusi yang diperbarui (akhir 2019), untuk mendapatkan lebar 80% dari induk secara Responsif dengan Hooks, itu berfungsi bahkan jika perangkat berputar.
Anda dapat menggunakan Dimensions.get('window').width
untuk mendapatkan Lebar Perangkat dalam contoh ini Anda dapat melihat bagaimana Anda dapat melakukannya secara Responsif
import React, { useEffect, useState } from 'react';
import { Dimensions , View , Text , StyleSheet } from 'react-native';
export default const AwesomeProject() => {
const [screenData, setScreenData] = useState(Dimensions.get('window').width);
useEffect(() => {
const onChange = () => {
setScreenData(Dimensions.get('window').width);
};
Dimensions.addEventListener('change', onChange);
return () => {Dimensions.removeEventListener('change', onChange);};
});
return (
<View style={[styles.container, { width: screenData * 0.8 }]}>
<Text> I'mAwesome </Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: '#eee',
},
});
react-native
digunakanflex
untuk ukuran dan posisi elemen. Saya tidak yakin tetapi mungkinflex-basis
itulah yang Anda butuhkan: Periksa ini dan ini