【问题标题】:Blur imageView in AndroidAndroid中的模糊imageView
【发布时间】:2022-04-09 03:03:13
【问题描述】:

我正在使用thread 中回答的方法,我将依赖项实现到build.gradle,但是当我粘贴代码时,它显示我没有类名Glide 的错误。我该如何解决这个问题,以便让我的 ImageView 模糊?

我有用于学习目的的简单代码

imageView4.setOnClickListener {
      if (!haveImage) {
         Toast.makeText(this, "Image not imported yet!", Toast.LENGTH_LONG).show()
      } else {
         val imgUri = Uri.parse("android.resource://com.example.myapplication/" + R.drawable.ic_launcher)
         imageView4.setImageURI(imgUri)
      }
 }

【问题讨论】:

    标签: android imageview blur


    【解决方案1】:

    确保像这样在gradle 中指定 Glide

    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'jp.wasabeef:glide-transformations:4.1.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    

    应用转换

            Glide.with(this@MainActivity)
               .asBitmap()
               .load(R.drawable.ic_launcher)
               .apply(RequestOptions.bitmapTransform(BlurTransformation(25, 3)))
               .into(imageView)
    

    【讨论】:

    • “BlurTransformations”显示错误(创建抽象函数“BlurTransf...”),“setImageURI”也不再起作用。能否请您给出更深入的回答?非常感谢!
    • 你需要另一个 gradle 依赖。添加滑行转换,它应该可以工作。
    • BOOM 解决了这个问题,我很抱歉之前关于“setImageURI”的评论是我在 xml 文件中的错误:)))
    【解决方案2】:

    使用新的 Android API Level 31 (Android 12),您可以使用方法 android.view.View#setRenderEffect() 将模糊效果应用于视图:

    imageView.setRenderEffect(
        RenderEffect.createBlurEffect(
            20.0f, 20.0f, Shader.TileMode.CLAMP
        )
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 2019-10-30
      • 2013-01-11
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多