You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Compose中带省略号的文本阴影被裁剪问题咨询

Android Compose中带省略号的文本阴影被裁剪问题咨询

大家好,我最近在使用Jetpack Compose的Text组件时遇到了一个关于阴影的问题,想跟各位请教下:

当给Text组件用Shadow()添加阴影效果时,在文本没有省略号的情况下,阴影能完美贴合文本的形状,甚至可以超出Text组件的边界显示,效果看起来很不错。但一旦文本过长触发了省略号显示,阴影就会被裁剪在Text的边界范围内,和无省略号时的表现完全不同。想知道这背后的原因是什么呢?

无省略号的文本示例

@Preview(showBackground = true)
@Composable
fun Preview() {
    MyApplicationTheme {
        Box(
            modifier = Modifier.size(100.dp),
            contentAlignment = Alignment.Center
        ) {
            Text(
                text = "Hello ".repeat(1),
                style = MaterialTheme.typography.bodyMedium.copy(
                    shadow = Shadow(
                        Color.Black,
                        blurRadius = 30f
                    )
                ),
                modifier = Modifier
                    .width(100.dp),
                fontSize = 12.sp,
                overflow = TextOverflow.Ellipsis,
                maxLines = 1
            )
        }
    }
}

无省略号的文本阴影效果

带省略号的文本示例

@Preview(showBackground = true)
@Composable
fun Preview() {
    MyApplicationTheme {
        Box(
            modifier = Modifier.size(100.dp),
            contentAlignment = Alignment.Center
        ) {
            Text(
                text = "Hello ".repeat(20),
                style = MaterialTheme.typography.bodyMedium.copy(
                    shadow = Shadow(
                        Color.Black,
                        blurRadius = 30f
                    )
                ),
                modifier = Modifier
                    .width(100.dp),
                fontSize = 12.sp,
                overflow = TextOverflow.Ellipsis,
                maxLines = 1
            )
        }
    }
}

带省略号的文本阴影效果

备注:内容来源于stack exchange,提问作者Jacky Tsang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 08:38:01