Для моего приложения мне нужен шрифт, который хорошо масштабируется с размером дисплея устройства. Я пробовал, но не понравились системные шрифты малого, среднего и большого размера. Указание размера в мм также непривлекательно, поскольку его необходимо рассчитывать для каждого устройства. Я обнаружил, что мне нравится шрифт родной кнопки (не выбран) на устройствах iOS и Android. (На Android нативные метки, кнопки и текстовые поля имеют разные размеры шрифта; мне нужен одинаковый размер.) Поэтому я решил использовать собственный шрифт кнопки для всех моих текстовых компонентов.
Скажем, я добавляю UIID MyTextField к теме и укажите все (фон, цвета и т. д. c.), кроме шрифта. Шрифт, который я хочу получить от родной кнопки. Однако в Руководстве разработчика сказано (в разделе 3.3.13): 'всегда наследуют только от идентификаторов UIID, которые вы определили, например, MyButton' . Итак, как вам получить доступ к родному шрифту Button? Я решил установить шрифт в коде, и это работает:
// includeNativeBool == true
Font myFont = new Button().getUnselectedStyle().getFont();
...
TextField textField = new TextField();
textField.setUIID("MyTextField");
textField.getAllStyles().setFont(myFont);
Это правильное решение? Или есть способ обработки шрифта в стиле?