Может быть, это означает, что конец просмотра red
находится в конце самого green
просмотра. Поместите alignSelf: 'stretch'
в представление red
, как показано ниже:
return (
<TouchableOpacity disabled={isLoading}>
<View style={styles.container}>
<View style={styles.venueImageContainer}>
{isLoading ? (
<Loader />
) : (
<Image style={styles.venueImage} source={ { uri: getImage()} } />
)}
</View>
<View style={{flexDirection: 'row', backgroundColor: 'red', alignSelf: 'stretch'}}>
<View style={{alignSelf: 'flex-start', backgroundColor: 'blue'}}>
<Text style={styles.venueName}>{venue.name}</Text>
</View>
<View style={{alignSelf: 'flex-end', backgroundColor: 'green'}}>
<Text style={styles.personCount}>Test</Text>
</View>
</View>
</View>
</TouchableOpacity>)
Или вы можете использовать position: 'absolute
в зеленом представлении, чтобы изменить его положение с некоторыми фиксированными значениями, например, следующим образом:
return (
<TouchableOpacity disabled={isLoading}>
<View style={styles.container}>
<View style={styles.venueImageContainer}>
{isLoading ? (
<Loader />
) : (
<Image style={styles.venueImage} source={ { uri: getImage()} } />
)}
</View>
<View style={{flexDirection: 'row', backgroundColor: 'red'}}>
<View style={{alignSelf: 'flex-start', backgroundColor: 'blue'}}>
<Text style={styles.venueName}>{venue.name}</Text>
</View>
<View style={{backgroundColor: 'green', position: 'absolute', right: 10}}>
<Text style={styles.personCount}>Test</Text>
</View>
</View>
</View>
</TouchableOpacity>)
Измените значение right: 10
в соответствии с вашими потребностями.
или поместите justifyContent: 'space-between'
в представление red
, как показано ниже:
return (
<TouchableOpacity disabled={isLoading}>
<View style={styles.container}>
<View style={styles.venueImageContainer}>
{isLoading ? (
<Loader />
) : (
<Image style={styles.venueImage} source={ { uri: getImage()} } />
)}
</View>
<View style={{flexDirection: 'row', backgroundColor: 'red', justifyContent: 'space-between'}}>
<View style={{alignSelf: 'flex-start', backgroundColor: 'blue'}}>
<Text style={styles.venueName}>{venue.name}</Text>
</View>
<View style={{alignSelf: 'flex-end', backgroundColor: 'green'}}>
<Text style={styles.personCount}>Test</Text>
</View>
</View>
</View>
</TouchableOpacity>)
но если вы хотите иметь более двух представлений внутри этого красного представления, одно из них будет посередине, поэтому я не думаю, что вы этого захотите.
(Я не знаю, почему ваш красный вид растягивается путь до конца просмотра, но не должно, я думаю (я могу ошибаться в этом))