Я успешно применил пользовательский шрифт к приложению следующим образом:
- Добавьте папку «font» в корневой проект, включая XML-файл font-family и файлы шрифтов:
Использовал пространство имен 'android' и 'app' для поддержки Api <> 26.
В стилях.xml -> AppTheme, добавили стиль TextView, Button и EditText следующим образом:
<item name="android:textViewStyle">@style/TelenorTextViewStyle</item>
<item name="android:buttonStyle">@style/TelenorButtonStyle</item>
<item name="android:editTextStyle">@style/TelenorEditTextStyle</item>
Каждый стиль объявлен так:
<style name="TelenorTextViewStyle" parent="android:Widget.TextView">
<item name="android:fontFamily">@font/font_telenor</item>
</style>
<style name="TelenorButtonStyle" parent="android:Widget.Holo.Button">
<item name="android:fontFamily">@font/font_telenor</item>
</style>
<style name="TelenorEditTextStyle" parent="android:Widget.EditText">
<item name="android:fontFamily">@font/font_telenor</item>
</style>
Кажется, он работает довольно хорошо, и шрифт применяется везде.
Однако есть одна большая проблема.
Ввсе диалоговые окна оповещений, кнопки (ОК, Отмена и т. д.) настолько сильно выцвели, что их едва видно:
Посколькунесколько предупреждений в приложении, я не хочу устанавливать цвета кнопок вручную, как упомянуто здесь .
Если я не использую пользовательский шрифт таким образом, то нет проблем.
Я не могу понять связь между применением шрифта и цвета кнопки оповещения и как устранить этот побочный эффект.