Как я могу ограничить масштабирование размера шрифта с помощью JetPack Compose?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу ограничить масштабирование размера шрифта с помощью JetPack Compose?

Сообщение Anonymous »

Попытка понять, как ограничить масштабирование шрифтов, из этого примера здесь: < /p>

Код: Выделить всё

Text(
text = "This is resizing text with font scale ${LocalDensity.current.fontScale}",
fontSize = 20.sp
)
< /code>
на Android I может установить масштабирование шрифтов общеготь системы в настройках доступности систем между 1,0 (= 100%) и 2,0 (= 200%) .. < /p>
< P> Я пытаюсь создать функцию, чтобы ограничить масштабирование: < /p>
@Composable
fun Float.limitFontScale(maxScale: Int = 200): TextUnit {
val fontScale = LocalDensity.current.fontScale
val fontScaleLimited = fontScale.coerceAtMost(maxScale.toFloat() / 100f)
val scaledSp = (this * fontScaleLimited).sp
return scaledSp
}
< /code>
Когда настройка систем устанавливается на 2,0 (= 200%), я бы хотел сократить масштабирование до 150%. У меня есть в моем коде: < /p>
Text(
text = "This is resizing text with font scale ${LocalDensity.current.fontScale}",
fontSize = 20.sp.value.limitFontScale(150)
)
< /code>
Я надеялся, что результат композиции text () будет таким же для следующих команд ADB в терминале: < /p>

Настройки оболочки ADB Поместите System FONT_SCALE 2.00 < /p>
< /blockquote>

Настройки оболочки ADB Положите систему font_scale 1.50 < /p>
< /blockquote>
Но, к сожалению, видимый результат для 2.00 явно больше. Я надеюсь, что оба имеют одинаковый размер на устройстве?! < /P>
Что не так? Калькуляция в LimitFontScale () 
?


Подробнее здесь: https://stackoverflow.com/questions/794 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»