当设备字体增大时,防止Jetpack Composer中的文本放大 [英] Prevent Text in Jetpack Compose from enlarging when device font size is increases

查看:0
本文介绍了当设备字体增大时,防止Jetpack Composer中的文本放大的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序中有一个显示计时器的屏幕。如果用户决定增加设备设置菜单中的字体大小,则文本对于布局来说会变得太大,并开始换行。对于我的其他文本较重的屏幕来说,这不是一个问题。对于此屏幕(仅对于此屏幕),如果使用辅助功能选项,我希望阻止计时器文本增大。

如果添加了上下文,则相关代码如下所示:

HorizontalPager(state = pagerState, dragEnabled = dragEnabled) { page ->
    val timeInSeconds = abs(steps[page % steps.size] / 1000L)
    val minutes = (timeInSeconds / 60).toString().padStart(2, '0')
    val seconds = (timeInSeconds % 60).toString().padStart(2, '0')

    Text(
        modifier = Modifier.fillMaxWidth(0.85f),
        text = stringResource(R.string.pomodoro_active_notification_content_body, minutes, seconds),
        textAlign = TextAlign.Center,
        fontSize = LocalDimens.current.intervalTimeFontSize,
        style = MaterialTheme.typography.h1
    )
}

推荐答案

正如@CommonsWare正确指出的那样,您需要反转缩放。

您可以从LocalDensity获取fontScale

fontSize = with(LocalDensity.current) {
    (LocalDimens.current.intervalTimeFontSize / fontScale).sp
},

这篇关于当设备字体增大时,防止Jetpack Composer中的文本放大的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆