Пользовательский размер шрифта немного больше размера шрифта по умолчанию - PullRequest
0 голосов
/ 25 июня 2019

Мое приложение поддерживает несколько языков. Я изменил шрифт всего приложения так:

<style name="LightTheme" parent="Theme.MaterialComponents.Light">
    <item name="android:fontFamily">@font/myfont</item>
    <!-- target android sdk versions < 26 and > 14 if theme is other than AppCompat -->
    <item name="fontFamily">@font/myfont</item>
    ...
</style>

Новый шрифт использует Roboto для английских букв (так же, как и шрифт Android по умолчанию).
Теперь дело в том, что размер всех текстов (текстовых представлений, кнопок, диалогов - все) немного больше, чем шрифт Android по умолчанию для английских и неанглийских букв (см. Рисунки ниже. Left - шрифт по умолчанию):

Default android font Custom font

Чтобы уменьшить размер шрифта, я пробовал это:

<style name="LightTheme" parent="Theme.MaterialComponents.Light">
    <item name="android:textViewStyle">@style/myTextViewStyle</item>
    ...
</style>
<style name="myTextViewStyle">
    <item name="android:textSize">14sp</item>
</style>

Но теперь все тексты становятся одинакового размера, будь то заголовок, обычный текстовый просмотр или что-то еще.

Другим решением было бы установить желаемый размер шрифта для каждого элемента пользовательского интерфейса, который содержит текст. Но это действительно того не стоит.

Итак, есть ли способ уменьшить размер всех текстов с помощью такого коэффициента, как, например, 0.8?

...