#react-native #react-native-image #react-native-elements
#react-native #react-native-image #react-native-elements
Вопрос:
Я хочу настроить карточку из react-native-elements, в которой есть изображение и заголовок карточки. Я хочу, чтобы изображение занимало всю ширину, доступную в представлении, и регулировало высоту с сохранением соотношения сторон. Так что в основном у меня нет ни высоты, ни ширины.
Как я понимаю, для компонента изображения требуются реквизиты height / width. Но его настройка не сделает его отзывчивым. Я пробовал несколько вещей с flex, но это не работает
<Card>
<Image
style={{
flex: 1,
alignSelf: 'stretch',
width: null,
height: null
}}
resizeMode="contain"
source={{
uri: "url-of-the-image.png"
}}/>
<View>
<Text>Image Title</Text>
</View>
</Card>
Изображение не отображается
Комментарии:
1. <Стиль представления={{flex:1}}> <Карта> <Стиль изображения= {{ ширина: 30, высота: 30 }} источник ={{uri:’ gettyimages.in/gi-resources/images/frontdoor/creative /… ‘}} /> <Просмотр><Текст> Заголовок изображения </Text> </View> </Card> </View > используйте это
2. Вы знаете ширину карты?
3. по умолчанию оно использует полную ширину, и вы также можете указать ширину в стиле
Ответ №1:
У вас есть два варианта: либо использовать тег ImageBackground с ResizeMode=»cover» вместо тега View, либо использовать ResizeMode =»cover» внутри тега image.
Это должно решить вашу проблему.
Ответ №2:
После попытки некоторых действий кажется, что я пропустил реквизиты компонента карты с реагирующим элементом.
В react-native-element есть реквизит изображения, который выполняет все, что требуется.
Для тех, кто может счесть это полезным, это то, что я сделал, наконец
<Card image={{uri: "url-of-the-image.png"}}>
<View>
<Text style={styles.tag}>{tags}</Text>
<Text style={styles.title}>{title}</Text>
</View>
</Card>