How can I stretch my subview across 100% width of its parent, minus 20px margin on each side? In other words, I need it to fill the width of the parent, with 20px open on each side.
I know in React-Native I can use width: '80%' to make my subview’s width relative to that of its parent, but then it’s not always precisely 20px on the sides. I also know that I can use alignSelf: 'stretch', however that is not working for me – it has unexpected / unreliable results. I don’t want to use Dimensions, as the parent will not always be the device’s screen, so Dimensions.get('window').width is inadequate for this problem.
What other options do I have?
Advertisement
Answer
Use nested View. You can try here: https://snack.expo.io/@vasylnahuliak/stackoverflow-67989491
import React, { useState } from 'react';
import { Text, View, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={styles.container}>
<View style={styles.child}>
<Text style={styles.childText}>child</Text>
</View>
</View>
);
};
const styles = StyleSheet.create({
container: {
padding: 24,
backgroundColor: 'tomato',
},
child: {
height: 150,
backgroundColor: 'navy',
},
childText: {
color: 'white',
},
});
export default App;