如何在Jetpack Compose中不受无障碍缩放影响保持按钮尺寸不变?
如何让Jetpack Compose按钮尺寸不受无障碍「显示尺寸」缩放影响
我在Jetpack Compose中实现了一个固定尺寸的按钮:
Button( modifier = Modifier .width(350.dp) .height(50.dp), onClick = { } ) { Text(text = "MY TEXT") }
遇到的问题是:当用户开启无障碍功能并增大「显示尺寸」时,按钮会随之放大。我需要让按钮尺寸保持固定,注意:需求是固定按钮尺寸,而非文本尺寸。
可行解决方案
通过自定义扩展函数,基于系统原始密度计算尺寸,绕过显示缩放的影响:
val Int.nonScale: Dp @Composable get() { val density: Float = LocalContext.current.resources.displayMetrics.density return (this / density).dp }
使用示例
将原始像素值转换为不受缩放影响的Dp,替换原有的固定尺寸设置:
Button( modifier = Modifier .width(1000.nonScale) .height(167.nonScale), onClick = { } ) { Text(text = "MY TEXT") }
内容的提问来源于stack exchange,提问作者Sirop4ik
相关产品推荐
相关产品推荐

