Во-первых, НЕ используйте Window.size
для управления размером окна, поскольку вы не знаете, какого размера будет ваше устройство в конечном итоге. Во-вторых, в kv вы можете определить размер шрифта с помощью вспомогательных функций sp()
или dp()
, например:
Label:
text: 'Hello'
font_size: sp(18)
Чтобы предварительно просмотреть свое приложение во время разработки, вы можете протестировать его на разных устройствах:
- Проверка разрешения соответствующего устройства
- Проверка dpi устройства
Так, например, эмулируйте Samsung S9 +, который имеет разрешение 1440x2960
и 529
dpi. вы можете запустить свое приложение следующим образом:
python main.py --size=1440x2960 --dpi=529
Это даст вам желаемый результат, если использовать этот метод, мне будет намного проще работать с помощником dp()
вместо sp()
, так как теперь у вас есть dpi, поэтому kivy может это использовать.
Просто небольшое примечание, если ваш экран меньше указанного размера, например, на моем ноутбуке с разрешением 1366x768
, вам просто нужно уменьшить размер, например, запустите его как:
python main.py --size=360x740 --dpi=529
Это такое же разрешение, но с масштабированием примерно до четверти исходного размера, чтобы сделать его поместится на вашем экране.
К вашему сведению, вы также можете использовать функции dp()
и sp()
в своем файле .py
, просто импортируйте их следующим образом:
from kivy.metrics import dp, sp