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 ()
Попытка понять, как ограничить масштабирование шрифтов, из этого примера здесь: < /p> [code]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 Положите систему font_scale 1.50 < /p> < /blockquote> Но, к сожалению, видимый результат для 2.00 явно больше. Я надеюсь, что оба имеют одинаковый размер на устройстве?! < /P> Что не так? Калькуляция в LimitFontScale () [/code]?