У меня есть элемент Modal
, который я хочу на весь экран, для этого я создал функции widthPercentageToDP
и heightPercentageToDP
, которые получают ширину и высоту от устройства и заполняют его в соответствии с установленным процентом, высота покрыта полностью, но с шириной слева есть небольшой зазор, который не покрыт.
import { StyleSheet, Dimensions, PixelRatio } from 'react-native';
<Modal isVisible={true}>
<View style={[s.contract]} >
<View >
<Text>
I want the modal on the whole screen
</Text>
</View>
<View >
{previousButton}{nextButton}
</View>
</View>
</Modal>
const styles = StyleSheet.create({
contract: {
backgroundColor: 'white',
width: widthPercentageToDP('100%'),
height: heightPercentageToDP('100%')
}
});
const widthPercentageToDP = widthPercent => {
const screenWidth = Dimensions.get('window').width;
const elemWidth = parseFloat(widthPercent);
return PixelRatio.roundToNearestPixel(screenWidth * elemWidth / 100);
};
const heightPercentageToDP = heightPercent => {
const screenHeight = Dimensions.get('window').height;
const elemHeight = parseFloat(heightPercent);
return PixelRatio.roundToNearestPixel(screenHeight * elemHeight / 100);
};
Это скриншот моего симулятора