Władimir (Zae)
Dimensions
Władimir (Zae)
берёшь длину девайса
Demuz
Миша
Vladimir
Вообще говоря это не такая простая задача и вот так в лоб ее не решить поделив два числа. В нативной части (андроид) я бы использовал встроенные утилиты для просчёта количества строк, как эту проблему решает RN и решает ли ее вообще - большой вопрос.
Vladimir
Но всегда есть вариант написать собственный нативный модуль :)
Екатерина
Можно ли реализовать тач ид без выпиливания Экспо?
Demuz
Demuz
и?
Я тебе скину сейчас код.
Demuz
Миша
Лол, а со скачком контента что делать?
Миша
onLayout после рендера триггерится
Maxim 📱 D
У кого то сломалась сборка проекта сегодня?
Demuz
Demuz
Demuz
Demuz
Миша
width / fontSize * 2
а это что?
Demuz
width / fontSize * 2
а это что?
Не верен что абсолютно верно, но по моему мнению это примерный расчет символов. Сколько символов поместится в строке, для данной ширины виндов, при определенном фонтсайзе.
Demuz
Посчитал, на моем экране numberOfLines обрезает до 41символа, а эта функция выдала мне 40 символов. Ну, что то вроде такого можно юзать. Просто я не могу же вам всю полность логику за вас написать. Но от этого вполне можно отталкиваться. И рекомендую ограницить numberOfLines на статическое значение.
Миша
лол, это же абсолютно рандомная формула, я не вижу в ней никакой связи с шириной символов, но, на самом деле, надо потестить
Demuz
ширина экрана, деленая на размер шрифта, здесь нет связи?
Władimir (Zae)
Władimir (Zae)
а не абсолютную истину
Władimir (Zae)
откуда он знает под какие задачи ты хочешь это переделать
Władimir (Zae)
ты так пишешь будто он тебе проект сдает
Michael
Миша
он тебе написал пример реализации
лол, это не мне надо, это просто интересная (и решаемая ли вообще в рамках рн?) задачка. просто перед этим писал про экспандер, и я накинул
Michael
На разных системах по-разному растеризуются ещё
Demuz
Что такое глифы? Во всяком случае, в любой ситуации можно под себя формулу написать.
Миша
Demuz
Demuz
Ширина экрана увеличена, шрифт увеличен до 30. Формула не тронута.
Cenator 🐈
Demuz
Миша
Demuz
Demuz
А вот здесь, целенаправленно увеличен шрифт до 70, чтобы надпись не поместилась.
Demuz
Видите? Кнопка есть шоу мор. Я говорю, там погрешность не такая уж и адская, что прям выбрасывать такое решение на помойку.
Demuz
🦜
Demuz
Везде нормально вычисляет же.
🦜
[f
🦜
ха
Vladimir
Так, а теперь запустите на ферме девайсов которые переопределяют шрифты. Поменяйте настройки пользователя на использование больших шрифтов.
🦜
я так и думал
Demuz
Да. Твоя зайка пишет. Переводится. 😂
Demuz
Vladimir
Это плохое решение, оно не будет работать в общем случае.
Demuz
Оно будет работать в БОЛЬШИНСТВЕ случаев.
Vladimir
Demuz
Поменял шрифты на огромные *в телефоне. Работает. Что дальше сделать?
Vladimir
Я же вам написал, зарандомите фонт на девайсе.
Vladimir
Если вам кажется что это редкий кейс, то вы ошибаетесь. Погуглите на предмет кастомных шрифтов самсунгов.
Demuz
Вижу, у меня только если совсем максимально огромный ставлю, тогда уже неверно работает формула. Хорошо, вытащим размер шрифта и его имя из системы.
Demuz
Vladimir
Вы продолжаете подпирать костылями, вместо того чтобы искать решение.
Миша
Demuz
Я не должен искать решение. Я говорю что вытащил бы размер шрифта из системы и исходя от него бы рассчитывал.
Vladimir
Конечно есть, я же писал выше - возьмите нативное апи и оберните в модуль для RN.
Миша
Миша
или такими костылями?
Vladimir
Vladimir
Vladimir
Для андроида по крайней мере
Aleksei
для иос тоже
Demuz
Ну адрес системного звука же можно вытащить, полагаю рн модули не особо недоразвиты, что нельзя размер шрифта вытащить.
Artem
что-то вроде такого модуля надо нативного https://github.com/airamrguez/react-native-measure-text
Demuz
Еще можно запретить изменение саого размера шрифта. Чтобы системная настройка не влияла на текст. allowFontScaling={false}
Vladimir
Vladimir
Demuz
А для этого внутри приложения настройки делаются. В телеграме тоже настройка не повлияла на приложение и размер его шрифтов. У него внутри самого приложения настраивается. Плохое приложение?
Demuz
Вот сейчас гигантский шрифт стоит в системе. Телеграм такой же остаётся.
Vladimir
Если так, то да, это плохо.
Artem
Artem
достаточно только в код посмотреть
Demuz
Мне нравится. Я хочу внутри отдельно настроить. Так как приложения все не придерживаются какого-либо общепринятого стандарта.
Artem
надо искать лупу или кого-то, кто опять настроит