Max*_*hel 2 text blur draw android-jetpack-compose
我正在尝试使用 Jetpack Compose 来混淆一些文本。显然,blur如果您使用的是 Android 12,则该修改器对于此用例会产生奇迹。
对于运行较低 API 版本的设备,我的替代方案是简单地在文本上绘制一个黑色的矩形。graphicsLayer我认为使用现有的修饰符(例如or )这会相对容易,drawBehind但我一直无法弄清楚,而且我现在不知道该怎么办......
我当前的文本可组合项如下所示:
Text(
modifier = if (blurText) {
Modifier.blur(16.dp, BlurredEdgeTreatment.Unbounded)
} else {
Modifier
},
text = textToObfuscate,
fontFamily = latoFontFamily,
fontWeight = FontWeight.W700,
fontSize = 16.sp,
color = black,
)
Run Code Online (Sandbox Code Playgroud)
我可以将文本包装在一个框中,然后在其中放置另一个框来绘制文本,但这似乎毫无用处,而且比必要的工作量更多。
如果有人对如何仅使用修改器扩展来实现这一目标有任何想法,那就太棒了!
您可以Modifier.drawWithContent用作
Text(
modifier = if (blurText) {
Modifier.blur(16.dp, BlurredEdgeTreatment.Unbounded)
} else {
Modifier.drawWithContent {
drawContent()
drawRect(Color.Black)
}
},
text = "textToObfuscate",
fontWeight = FontWeight.W700,
fontSize = 16.sp,
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |