React Native странное поведение гибкости

Я пытаюсь создать заголовок с изображением, поэтому пишу это:

  <View style = {{
          flex: 1,
          backgroundColor: "#FFFFFF",
          padding: 20
          }}
  >
    <View style = {{ flex: 3 }}>
      <Image
        source = {this.images.header}
        style = {{
          flex: 1,
          alignSelf: "flex-end",    // HERE
          resizeMode: "contain",
          marginTop: -20,
          marginLeft: -20
        }}
      />
    </View>
  </View>

Странная часть - это alignSelf: "flex-end" - это выравнивает изображение по левой стороне! Насколько я знаю, для выравнивания по левому краю это должен быть alignSelf: "flex-start".

Я ошибаюсь?

PS: Я использую marginTop: -20 и marginLeft: -20, чтобы приклеить изображение к границам устройства (из-за padding: 20 контейнера)

Есть идеи?

Thank in advance!

удалить resizeMode: "содержать"

Kamlesh Gupta 24.08.2018 15:38

@KamleshGupta Тогда изображение такое большое!

MohamadKh75 24.08.2018 15:40

не могли бы вы попробовать с flex: -1

Kamlesh Gupta 24.08.2018 15:47

Я проверил, что у меня работает.

Kamlesh Gupta 24.08.2018 15:47

Для изображения использую style = {{ flex: 1, resizeMode: "center" }} - левая часть изображения обрезана ... но кое-как работает

MohamadKh75 24.08.2018 15:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
79
1

Ответы 1

Я думаю, это потому, что Image покрывает все пространство, но размер данных изображения изменен так, что вы думаете, что это только часть представления. Попробуйте удалить flex: 1 и правильно настроить width и height или, по крайней мере, один из обоих.

Я хочу, чтобы он был отзывчивым, могу ли я тогда использовать ширину (и избегать flex?)

MohamadKh75 24.08.2018 16:54

Ага! Вы можете использовать только одно и то, и другое, чтобы экран настраивался.

mcssym 24.08.2018 17:14

Другие вопросы по теме