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').widthuntuk 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-nativedigunakanflexuntuk ukuran dan posisi elemen. Saya tidak yakin tetapi mungkinflex-basisitulah yang Anda butuhkan: Periksa ini dan ini