Yan*_*ick 6 android android-jetpack-compose
如何在 Jetpack Compose 中模糊背景或创建模糊叠加?没有任何关于此主题的文档或资源。简单地说:我在寻找实现像这样在Jetpack的撰写本身
Cod*_*oet 15
这是一项已被请求的功能,您可能希望为其加注星标。
这个想法是创建一个模糊修改器,看起来像这样:
Modifier.blur(radius = 16.dp, dynamic = true)
Run Code Online (Sandbox Code Playgroud)
Orl*_*uez 13
在 Jetpack Compose :1.1.0-alpha03 中,您可以使用:
Modifier.blur(30.dp)
Run Code Online (Sandbox Code Playgroud)
但仅支持 Android 12 及以上版本。在旧版 Android 上使用此修饰符的尝试将被忽略。
对于 API 31 之前的版本,您仍然可以使用 RenderScript(已弃用)或 RenderScript Intrinsics Replacement Toolkit。对于第一种方式:
val bitmap = BitmapFactory.decodeResource(
LocalContext.current.resources,
R.drawable.your_image
)
val rs = RenderScript.create(LocalContext.current)
val bitmapAlloc = Allocation.createFromBitmap(rs, bitmap)
ScriptIntrinsicBlur.create(rs, bitmapAlloc.element).apply {
setRadius(BLUR_RADIUS)
setInput(bitmapAlloc)
forEach(bitmapAlloc)
}
bitmapAlloc.copyTo(bitmap)
rs.destroy()
Run Code Online (Sandbox Code Playgroud)
对于第二个,您必须将renderscript-toolkit模块添加到您的项目中(查看此处),然后使用:
val bitmap = BitmapFactory.decodeResource(
LocalContext.current.resources,
R.drawable.your_image
).let { Toolkit.blur(it, BLUR_RADIUS) }
Run Code Online (Sandbox Code Playgroud)
最后你可以像这样显示模糊的位图:
Image(
bitmap = bitmap.asImageBitmap(),
"some description"
)
Run Code Online (Sandbox Code Playgroud)
https://github.com/x3rocode/xblur-compose/tree/main
我知道你想要什么。
我做了简单的实时合成模糊。
尝试这个。


| 归档时间: |
|
| 查看次数: |
1496 次 |
| 最近记录: |