Как правильно делать вёрстку мобильных приложений на react native?

Как правильно делать вёрстку мобильных приложений на react native? Можете скинуть простой пример из хэдэра, футэра и с какой-нибудь информацией внутри (например, кнопкой, которая растягивается на всю ширину контейнера). Под разную ориентацию телефона делается своя вёрстка? Просто процентов там нет, а если, скажем, marginTop 50 хорошо смотрится в вертикальной ориентации, то в горизонтальной ориентации получается слишком большой пробел.
  • Вопрос задан
  • 4064 просмотра
Решения вопроса 2
AMar4enko
@AMar4enko
Используйте https://github.com/kkjdaniel/react-native-device-d...
для определения режимов ориентации и завязывайте на этом вью (можно просто стили менять, а можно полностью отдельный вью).

Также в порядке бреда можно перед применением стили обрабатывать, чтобы сделать поддержку процентов к ширине и высоте экрана.
Типа
const style = { 
  header: { height: '50%' }    
};

prepareStyle: function() {
  let deviceHeight = ...; // Find API by yourself
  let _style = _.merge({}, style);
  if (style.header.height.substr(-1, 1) === '%') 
    _style.header.height = deviceHeight * (+style.header.height.slice(0, -1)) / 100;

  return _style;
}
Ответ написан
Комментировать
@Maxim16
Аналогом процентов в той версии Flexbox, которая применяется в React Native, является свойство flex.
Например, если у нас есть два элемента , которые вложены в родительский элемент , то можно сделать у первого вложенного в стилях свойство flex:5, а у второго - flex:3. В этом случае первый элемент будет занимать 5/8 от площади родительского элемента, а второй 3/8. Учитывая это, и поэкспериментировав со свойствами alignItems и justifyContent, я думаю, можно добиться нужного отступа без использования margin.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы