Вот еще одно решение, которое зависит от ваших потребностей и того, почему оно вам не подходит.Проблема заключается в том, что пользователь изменил размер шрифта по умолчанию в настройках дисплея своего устройства (в частности, он увеличил масштаб, чтобы сделать текст больше).Таким образом, размер текста больше указанного вами максимума, поскольку минимум по умолчанию (поскольку вы не указали минимум и значение по умолчанию IS масштабируется по предпочтению пользователя) больше вашего максимума.
Указаниеминимум - только решение, если вы хотите игнорировать предпочтения пользователя по масштабированию.В некоторых случаях это требуется (в моем проекте мы просто не можем соблюдать желаемый размер текста пользователя в конкретном случае, поскольку этот текст привязан к визуальным элементам с фиксированным размером).
«Правильное» решение, вто, что он учитывает предпочтения масштабирования пользователя, заключается в использовании sp
единиц (которые не зависят от плотности, как dp, но они масштабируются по предпочтениям пользователя) вместо dp
единиц.Если вы сделаете это, вы все равно можете указать только максимальный размер шрифта, так как этот максимум будет соответственно масштабирован вместе с минимальным значением по умолчанию, которое вы не указали.
Итак, чтобы подвести итог, вы всегда должны использовать sp
единицы для указания размеров, связанных с текстом, если вы не хотите специально игнорировать пользовательское масштабирование из-за требований макета.
Кроме того, это легко проверить.Просто зайдите в Настройки-> Шрифт и увеличение экрана-> Размер шрифта и установите его в «Огромный».В любом случае, вы уже должны проверять свои макеты по отношению к переменным такого типа.