Артем
alignSelf: "flex-end" не помогло
Артем
headerRight применяется для хедера самого компонента, а мне нужно сделать чтобы иконка таба была с правой стороны в навигации
Артем
marginRight не хочу делать так как разные размеры девайсов бывают
Артем
???
???
Gena
???
Вам наверное очевидно, что вы хотите получить, но попробуйте прочитать хоть что вы написали... это никто не поймет
Gena
вроде ясно написал
теперь вторая часть стала яснее. Полагаю вам надо поместить иконку в headerRight - тогда она будет с правой стороны в навигации
Артем
headerRight никак не влияет на tabBarLabel
Kto?
У тебя слишком странная логика в приложении
Kto?
Я бы сказал очень
Gena
При чем здесь tabBarLabel, если красная стрелочка на картинке показывает в заголовок навигации и иконка в нем... чтоб эту иконку (ту, на которую стрелка показывает) сдвинуть вправо, надо её поместить в headerRight )
Артем
вот за что headerRight отвечает
Артем
а мне нужно сделать чтобы та иконка была с правой стороны
Артем
теперь понятно о чем я?
Артем
или странная логика?)
Артем
marginLeft: auto; marginRight: 0
can't find variable auto
Pasha
can't find variable auto
Строка же, 'auto'
Kto?
Подучи сначала
Gena
теперь понятно о чем я?
Правильно я понял, что иконка должна быть всегда на одинаковом расстоянии от правого края экрана, если появляется кнопка Done, то она должна появляться левее от иконки? (вот это я пока могу предположить как желаемое).
Kto?
Как что работает
Kto?
А потом уже делай
Kto?
Потому что вот это все глупо
Kto?
can't find variable auto
Это особенно
Артем
Строка же, 'auto'
сори не заметил
Артем
Pasha
не помогло(
А flex-end куда дел? Выше же кидал пример с ним
Артем
вроде такого не было
Артем
покажи плиз где это было
Артем
а вот marginLeft: 150 помогает
Артем
но его не хочу использовать
Pasha
alignSelf: "flex-end" не помогло
Вот тут оно было. Погугли как на флексах сделать последний элемент справа и перенеси в RN. Сорян, но я уже спать собираюсь, час ночи по местному времени
Артем
хорошо, спасибо
Gena
Очень хочется оставить эту ссылку (чтоб вы посмотрели, и может, перестали пытаться странные вещи с title блоком делать): https://github.com/react-navigation/react-navigation-stack/blob/master/src/views/Header/Header.js
Gena
Не знал, а где посмотреть?
Артем
у меня createMaterialTopTabNavigator
不退転」
А там другой header?
ну, судя по скрину, там сборная солянка из всего
Gena
Ох... всё, это точно последний раз, когда я в react-navigation смотрю... короч, этот label вставляется вот сюда... https://github.com/react-native-community/react-native-tab-view/blob/master/src/TabBar.js#L501
Gena
Артем если это MaterialTopTabNavigator, то в принципе вам правильно советовали. Я, правда, такие вещи по старинке через спейсеры верстаю. Грубо говоря, если контейнер растянутый на всю ширину с flexDirection: "row", то как-то так: <Container> <SomeComp /> <View style={{flex: 1}} /> <Icon /> </Container> Но если у такого контейнера flexDirection: 'column', то это не будет работать, тогда можно либо ему этот стиль прокинуть, либо в доп контейнер засунуть
Gena
Вот так: <Container> <View style={{ alignSelf: 'stretch', flexDirection: 'row' }}/> <SomeComp /> <View style={{flex: 1}} /> <Icon /> </View> </Container>
Артем
я заметил что у navigationOptions есть tabStyle проперти, сейчас попробую туда те стили пропихнуть которые мне советовали
Gena
Лучше всего в инспекторе глянуть, какие реально стили на этом контейнере
Gena
Тогда понятно будет, что подкрутить
Gena
Потому что судя по коду, у него есть шанс не быть растянутым на полную ширину
Gena
В предидущем проекте это был старый NavigationExperimental, в новом кастомную штуку, по архитектуре напоминающую react-native-navigation (но сильно проще)
Gena
В частности у нас нет требования на красивую анимацию верхних баров и они прям в экранах сверстаны, с ними и анимируются. Табы нижние тоже просто обычная вьюха в экране. (пока что... потом, когда будем марафет наводить сделаем чуть лучше или переедем на react-native-navigation, там это уже написали... более того, они там для Android почти целиком сэмулировали поведение UIViewController из ios)
Stas
заметна ли нативная навигация на ios? есть ли смысл менять react-navigation на native navigaiton
Gena
заметна ли нативная навигация на ios? есть ли смысл менять react-navigation на native navigaiton
Для меня очень заметна (но я знаю куда смотреть). Обычно именно в момент смены экрана, когда плавная анимация нужна, бридж и забивается, т.к. надо отрендерить кучу всего... А с нативной навигацией, RootView сам по себе рендерится, анимация сама по себе без взаимодействия с JS
Gena
Имхо, если есть время на эксперимент, то надо просто попробовать (для нескольких начальных экранов приложения) и сравнить
Kto?
Wix конечно круто...но там кучу всего предстоит еще написать
Kto?
Он явно проигрывает rnavigation
Stas
нету метрик.
Kto?
Тем более v3 уже кучу всяких проблем исправила, перешли на guesture handler и reanimated
Kto?
И плавности там хоть отбавляй
Kto?
На счет иос не скажу, но андроид гуд
Stas
Тем более v3 уже кучу всяких проблем исправила, перешли на guesture handler и reanimated
и все равно кривой. в stack navigator как не было анимаций, так и нет
Stas
switch *
Kto?
А, ну это да
Kto?
Но можно ручками это написать
Kto?
Никто не запрещает
Stas
еще жутко бесят кастыли с header-ом с глубокой вложенностью. если просто описать не самую тривиальную навигацию(стек - свитч - стек например), но велика вероятность, что появятся по 2, 3 хедера на 2, 3 уровне навигации
Stas
и приходится либо оборачивать каждый экран в свой стек, либо хедер самому рендерить
Gena
Но у меня ещё есть просто одно... я ж не просто так нативную навигацию начал использовать... мне хочется оставить легкую возможность любой экран приложения сделать нативно, без RN. Так сказать, такой запасной вариант. Правда, пока ни для чего, кроме прелоадера не потребовалось.
Stas
чем не вариант нативный компонент?
Gena
чем не вариант нативный компонент?
В прелоадере - не вариант. Он должен сразу появиться, а не когда JS загрузится )
Stas
верно. бридж мешает.
Kto?
верно. бридж мешает.
Скоро не будет, надеюсь
Anonymous
Блин, такая конкуренция в программировании. Даже не знаю, как быть...
Gena
Я не верю в fabric... я слежу за тем, что они там пишут... и это такой же ужасный код, как и сейчас, только на более сложном языке программирования )
Stas
Не сталкивался ни разу. У меня вложенность очень сложная, проблемы изи решаются, если вообще появляются
сталкиваюсь в каждом приложении где навигация сложнее одного стека. проблемы решаются, но я убежден, что их просто быть не должно.
Kto?
Ну типо, когда ты делаешь стек в стеке, то очевидно что у тебя будет два хедера