169 похожих чатов

Можно даже без либы. там много лишнего. import { Dimensions

} from 'react-native';

const { width, height } = Dimensions.get('window');
const [shortDimension, longDimension] = width < height ? [width, height] : [height, width];

//Default guideline sizes are based on standard ~5" screen mobile device
const guidelineBaseWidth = 350;
const guidelineBaseHeight = 680;

export const scale = size => shortDimension / guidelineBaseWidth * size;

и потом в стилях указывать размер в scale(), ну мне это помогло.

4 ответов

11 просмотров

Я только глянул в либу чтоб убедиться что это код оттуда. А теперь вопрос. Какое отношение этот scale имеет к ppi? )))

Антон- Автор вопроса
Gena Black
Я только глянул в либу чтоб убедиться что это код ...

вот я тоже хочу узнать. я протестировал на эмуляторе, при одинаковых значениях ширины и высоты - менял ppi от 300 до 700 даже, результат - шрифт везде одинаковый. не понимаю как это работает. ширину и высоту менял тоже, ставил разные пресеты. например вот эта либа одна из популярных https://www.npmjs.com/package/react-native-responsive-dimensions она заявляет что делает размер шрифта адаптивным. но при этом при увеличении ppi шрифт тоже увеличивается, а так же не должно быть.

Антон
вот я тоже хочу узнать. я протестировал на эмулято...

От ppi зависит коэффициент, который PixelRatio возвращает, но он нелинейный и приближенный. Это те самые 1x, 2x, 3x, что Image использует. А вот реальный ppi получить довольно сложно.

Антон- Автор вопроса
Gena Black
От ppi зависит коэффициент, который PixelRatio воз...

есть предположения почему тот код и та либа что я показал работает как надо и показывает примерно одинаковые размеры шрифта и иконок при разных ppi? или это магия эмулятора? протестить на всех физических девайсах нет возможности.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта