欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 三行代碼實(shí)現(xiàn)高斯模糊效果

 更新時(shí)間:2022年09月26日 10:31:15   作者:很好奇  
這篇文章主要介紹了Android 三行代碼實(shí)現(xiàn)高斯模糊效果,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

設(shè)計(jì):有了毛玻璃效果,產(chǎn)品的逼格直接拉滿了呀

我:啊,對對對。我去 GayHub 上找找有沒有好的解決方案吧

設(shè)計(jì):GayHub ???

可行的方案

要實(shí)現(xiàn)高斯模糊的方式有很多,StackBlur、RenderScript、Glide 等等都是不錯(cuò)的方式,但最簡單直接效率最高的方式,還得是上 Github。

搜索的關(guān)鍵詞為 android blur,可以看到有兩個(gè)庫是比較合適的, Blurry 和 BlurView。 這兩個(gè)庫 Star 數(shù)比較高,并且也還在維護(hù)著。

于是,便嘗試了一番,發(fā)現(xiàn) BlurView 比 Blurry 更好用,十分推薦上手 BlurView。

Blurry

  • 優(yōu)點(diǎn):API 使用非常簡潔,效果也不錯(cuò),提供同步和異步加載的解決方案

  • 缺點(diǎn):奇奇怪怪的 Bug 非常多,并且只能作用于 ImageView

    • 使用時(shí),基本會遇到這兩個(gè) Bug:issue1 和 issue2 。
    • issue1(NullPointerException) 已經(jīng)有現(xiàn)成的解決方案
    • issue2(Canvas: trying to use a recycled bitmap) 則從 17 年至今毫無進(jìn)展,并且復(fù)現(xiàn)概率還比較高

BlurView(推薦)

  • 優(yōu)點(diǎn):使用的過程中幾乎沒有遇到 bug,實(shí)現(xiàn)時(shí)調(diào)用的代碼較少。并且,可以實(shí)現(xiàn)復(fù)雜的模糊 View
  • 缺點(diǎn):需要在 xml 中配置,并且需要花幾秒鐘的時(shí)間理解一下 rootView 的概念

使用方式:

XML:

<androidx.constraintlayout.widget.ConstraintLayout
 ?... 
 ?android:id="@+id/rootView"
 ?android:background="@color/purple_200" >
 ?
 ?<ImageView
 ? ?... 
 ? ?android:id="@+id/imageView" />
 ?
 ?<eightbitlab.com.blurview.BlurView
 ? ?... 
 ? ?android:id="@+id/blurView" />
?
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity#onCreate:

// 這里的 rootView,只要是 blurView 的任意一個(gè)父 View 即可
val rootView = findViewById<ConstraintLayout>(R.id.rootView)
val blurView = findViewById<BlurView>(R.id.blurView)
blurView.setupWith(rootView, RenderScriptBlur(this))

實(shí)現(xiàn)的效果:

使用前:

使用后:

Tips :

  • 在 BlurView 以下的 View 都會有高斯模糊的效果
  • rootView 可以選擇離 BlurView 最近的 ViewGroup
  • .setBlurRadius() 可以用來設(shè)置卷積核的大小,默認(rèn)是 16F
  • .setOverlayColor() 可以用來設(shè)置高斯模糊覆蓋的顏色值

例如如下參數(shù)配置時(shí)可以達(dá)到這樣的效果:

blurView.setupWith(rootView, RenderScriptBlur(this))
 ? ? ? ? ?  .setBlurRadius(5F)
 ? ? ? ? ?  .setOverlayColor(Color.parseColor("#77000000"))

最后,再補(bǔ)充一下滑動時(shí)的效果:

到此這篇關(guān)于Android 三行代碼實(shí)現(xiàn)高斯模糊效果的文章就介紹到這了,更多相關(guān)Android高斯模糊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android textview 實(shí)現(xiàn)長按自由選擇復(fù)制功能的方法

    Android textview 實(shí)現(xiàn)長按自由選擇復(fù)制功能的方法

    下面小編就為大家?guī)硪黄狝ndroid textview 實(shí)現(xiàn)長按自由選擇復(fù)制功能的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Android中增加新字庫的方法

    Android中增加新字庫的方法

    這篇文章主要介紹了Android中增加新字庫的方法,本文分別講解了不需要保留Google默認(rèn)的中文字庫、有需要保留Google默認(rèn)的中文字庫并在此基礎(chǔ)上增加自己需要的新字庫兩種情況下的處理方法,需要的朋友可以參考下
    2015-04-04
  • android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫的方法

    android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫的方法

    這篇文章主要介紹了android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫的方法,涉及Android權(quán)限控制及針對sd卡與數(shù)據(jù)庫的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Android源碼學(xué)習(xí)之工廠方法模式應(yīng)用及優(yōu)勢介紹

    Android源碼學(xué)習(xí)之工廠方法模式應(yīng)用及優(yōu)勢介紹

    工廠方法模式定義:定義一個(gè)用于創(chuàng)建對象的接口,讓子類決定實(shí)例化哪一個(gè)類。工廠方法使一個(gè)類的實(shí)例化延遲到其子類,感興趣的朋友可以了解下哦
    2013-01-01
  • Android應(yīng)用架構(gòu)思想分析

    Android應(yīng)用架構(gòu)思想分析

    本篇文章是一個(gè)Android應(yīng)用開發(fā)的老程序員寫的關(guān)于Android應(yīng)用架構(gòu)思想分析的詳細(xì)內(nèi)容,希望對你有啟發(fā)。
    2018-06-06
  • 詳細(xì)分析Fresco源碼之圖片加載流程

    詳細(xì)分析Fresco源碼之圖片加載流程

    Fresco是一個(gè)強(qiáng)大的圖片加載組件,使用它之后,你不需要再去關(guān)心圖片的加載和顯示這些繁瑣的事情!它支持Android2.3及以后的版本
    2021-01-01
  • Android獲取SDcard目錄及創(chuàng)建文件夾的方法

    Android獲取SDcard目錄及創(chuàng)建文件夾的方法

    今天小編就為大家分享一篇Android獲取SDcard目錄及創(chuàng)建文件夾的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Android使用系統(tǒng)自帶的相機(jī)實(shí)現(xiàn)一鍵拍照功能

    Android使用系統(tǒng)自帶的相機(jī)實(shí)現(xiàn)一鍵拍照功能

    這篇文章主要介紹了Android使用系統(tǒng)自帶的相機(jī)實(shí)現(xiàn)一鍵拍照功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-01-01
  • Android中AsyncTask異步任務(wù)使用詳細(xì)實(shí)例(一)

    Android中AsyncTask異步任務(wù)使用詳細(xì)實(shí)例(一)

    AsyncTask是Android提供的輕量級的異步類,可以直接繼承AsyncTask,在類中實(shí)現(xiàn)異步操作,并提供接口反饋當(dāng)前異步執(zhí)行的程度(可以通過接口實(shí)現(xiàn)UI進(jìn)度更新),最后反饋執(zhí)行的結(jié)果給UI主線程,通過本文給大家介紹Android中AsyncTask異步任務(wù)使用詳細(xì)實(shí)例(一),需要的朋友參考下
    2016-02-02
  • 詳解Android控件之DatePicker、TimePicker探究

    詳解Android控件之DatePicker、TimePicker探究

    本篇文章主要介紹了Android控件之DatePicker、TimePicker探究,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-12-12

最新評論