I have problems with styling in React Native inside a nested view.
As you can see I have problems allocating the text horizontally
Code:
let width = Dimensions.get('window').width - 42;
const styles = StyleSheet.create({
cardBorder: {
marginTop: 25,
marginLeft: 20,
marginRight: 20,
borderColor: "grey",
borderWidth: 1,
borderRadius: 5,
overflow: 'hidden',
},
titleText: {
...FONT_SEMI_BOLD,
marginTop: 10,
marginLeft: 10,
fontSize: 17,
flex: 1,
},
priceText: {
...FONT_SEMI_BOLD,
marginTop: 10,
marginLeft: 10,
marginRight: 10,
fontSize: 17,
alignSelf: 'flex-end',
flex: 1,
},
});
export default class CardDetailScreen extends Component {
render() {
return (
<SafeAreaView>
<HeaderReturn />
<View style={styles.cardBorder}>
<Image
style={{ height: width, width: width }}
source={{ uri: testData[0].uri }}
/>
<View
style={{
flexDirection: 'row',
justifyContent: "space-between",
}}
>
<Text style={styles.titleText}>{testData[0].name}</Text>
<Text style={styles.priceText}>{testData[0].price}</Text>
</View>
</View>
</SafeAreaView>
);
}
}
Any help is much appreciated, it looks super simple but I just cannot get it to work. Thank you!
It seems like you want to show the name on left side and price on right side of view. So you can try it this way,
priceText: {
...FONT_SEMI_BOLD,
marginTop: 10,
marginLeft: 'auto',
marginRight: 10,
fontSize: 17,
},
Just mention your marginLeft: 'auto'
. Also remove justifyContent: "space-between",
from your parent view's style.