在UI设计中,模糊效果经常被用来增强层次感和视觉吸引力,尤其是在移动应用中。今天,我们向你推荐一个专为Android打造的轻量级模糊库——Blurry。这个开源库简单易用,能让你轻松地为界面元素添加专业级别的模糊效果。
1、项目介绍
Blurry是一个强大的Android模糊库,由开发者Daichi Furiya(Wasabeef)创建。它提供了多种模糊效果选项,包括辐射模糊、下采样和颜色过滤等,并支持异步处理和动画效果。只需几行代码,你就能让你的应用具备高端的视觉表现力。
2、项目技术分析
Blurry的核心在于其高效且灵活的模糊算法实现。通过radius参数设置模糊半径,sampling参数进行图像下采样,以及可选的颜色过滤器,开发者可以自定义出各种独特的模糊风格。此外,库还提供了Overlay功能,可以直接将模糊效果叠加到整个视图上,或者通过Into方法将模糊效果应用到指定的图片或视图上。
3、项目及技术应用场景
- 启动画面:为过渡动画添加模糊背景,提升用户体验。
- 抽屉菜单:当打开侧滑菜单时,模糊主屏幕提供更好的焦点引导。
- 浮动按钮(FAB):点击FAB时,以模糊效果显示隐藏的内容。
- 相册预览:对图片进行快速模糊处理,用于预览或占位符效果。
- 对话框和通知:增强对话框和通知的视觉层次,使其更加突出。
4、项目特点
- 兼容性好:支持Android API 21+,适配了大部分现代设备。
- 灵活性高:提供的多种模糊选项和动画支持,满足不同场景需求。
- 性能优化:通过下采样技术,减少内存消耗,提高处理速度。
- 简便的API:简洁明了的使用方式,让开发者能够快速集成并调试。
以上说明转载于:blog.csdn.net/gitblog_000…
GitHub地址:github.com/wasabeef/Bl…
使用方法:
配置
Dependencies
repositories {
mavenCentral()
}
dependencies {
implementation 'jp.wasabeef:blurry:4.0.1'
}
方法
Overlay
Parent must be ViewGroup
Blurry.with(context).radius(25).sampling(2).onto(rootView)
Into
// from View
Blurry.with(context).capture(view).into(imageView)
// from Bitmap
Blurry.with(context).from(bitmap).into(imageView)
Blur Options
- Radius 最大为25
- Down Sampling 最大为10
- Color Filter
- Asynchronous Support
- Animation (Overlay Only)
Blurry.with(context)
.radius(10)
.sampling(8)
.color(Color.argb(66, 255, 255, 0))
.async()
.animate(500)
.onto(rootView);
Get a bitmap directly
// Sync
val bitmap = Blurry.with(this)
.radius(10)
.sampling(8)
.capture(findViewById(R.id.right_bottom)).get()
imageView.setImageDrawable(BitmapDrawable(resources, bitmap))
// Async
Blurry.with(this)
.radius(25)
.sampling(4)
.color(Color.argb(66, 255, 255, 0))
.capture(findViewById(R.id.left_bottom))
.getAsync {
imageView.setImageDrawable(BitmapDrawable(resources, it))
}