Skip to content

BlurView

使用组件

xml
<com.qmdeve.blurview.widget.BlurView
    android:id="@+id/blurView"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    app:blurRadius="25dp"
    app:overlayColor="#AAFFFFFF"
    app:cornerRadius="16dp"
    app:topLeftCornerRadius="24dp"
    app:topRightCornerRadius="24dp"
    app:bottomLeftCornerRadius="8dp"
    app:bottomRightCornerRadius="8dp"
    app:downsampleFactor="2.5" />
java
BlurView blurView = new BlurView(context, null);
blurView.setBlurRadius(25f);
blurView.setOverlayColor(0xAAFFFFFF);
blurView.setCornerRadius(16f);
blurView.setTopLeftCornerRadius(24f);
blurView.setDownsampleFactor(2.5f);
kotlin
val blurView = BlurView(context, null)
blurView.setBlurRadius(25f)
blurView.setOverlayColor(0xAAFFFFFF.toInt())
blurView.setCornerRadius(16f)
blurView.setTopLeftCornerRadius(24f)
blurView.setDownsampleFactor(2.5f)

属性说明

属性名类型默认值说明
app:blurRadiusdimension25dp模糊半径。
app:overlayColorcolor#AAFFFFFF绘制在模糊结果上的覆盖色。
app:cornerRadiusdimension0dp全局圆角半径。
app:topLeftCornerRadiusdimensioncornerRadius左上角圆角覆盖值。
app:topRightCornerRadiusdimensioncornerRadius右上角圆角覆盖值。
app:bottomLeftCornerRadiusdimensioncornerRadius左下角圆角覆盖值。
app:bottomRightCornerRadiusdimensioncornerRadius右下角圆角覆盖值。
app:downsampleFactorfloat0下采样系数。0 表示自动下采样以平衡性能。

API 参考

方法名说明
setBlurRadius(float)设置模糊半径。
setBlurRounds(int)设置原生模糊迭代次数(次数越高模糊越强)。
getBlurRounds()获取当前原生模糊迭代次数。
setDownsampleFactor(float)设置下采样系数。
setOverlayColor(int)设置覆盖色。
setCornerRadius(float)一次性设置四个角的圆角。
setTopLeftCornerRadius(float)设置左上角圆角。
setTopRightCornerRadius(float)设置右上角圆角。
setBottomLeftCornerRadius(float)设置左下角圆角。
setBottomRightCornerRadius(float)设置右下角圆角。
getTopLeftCornerRadius()获取左上角圆角。
getTopRightCornerRadius()获取右上角圆角。
getBottomLeftCornerRadius()获取左下角圆角。
getBottomRightCornerRadius()获取右下角圆角。
getCornerRadius()获取全局圆角值。
getOverlayColor()获取覆盖色。
getBlurredBitmap()获取最近一次模糊结果位图。
release()释放模糊相关资源。