最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 三行代碼實現高斯模糊效果

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

前言

設計:有了毛玻璃效果,產品的逼格直接拉滿了呀

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

設計:GayHub ???

可行的方案

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

搜索的關鍵詞為 android blur,可以看到有兩個庫是比較合適的, Blurry 和 BlurView。 這兩個庫 Star 數比較高,并且也還在維護著。

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

Blurry

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

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

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

BlurView(推薦)

  • 優(yōu)點:使用的過程中幾乎沒有遇到 bug,實現時調用的代碼較少。并且,可以實現復雜的模糊 View
  • 缺點:需要在 xml 中配置,并且需要花幾秒鐘的時間理解一下 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 的任意一個父 View 即可
val rootView = findViewById<ConstraintLayout>(R.id.rootView)
val blurView = findViewById<BlurView>(R.id.blurView)
blurView.setupWith(rootView, RenderScriptBlur(this))

實現的效果:

使用前:

使用后:

Tips :

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

例如如下參數配置時可以達到這樣的效果:

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

最后,再補充一下滑動時的效果:

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

相關文章

  • Android編程實現通過反射獲取資源Id的方法

    Android編程實現通過反射獲取資源Id的方法

    這篇文章主要介紹了Android編程實現通過反射獲取資源Id的方法,結合實例形式分析了Android反射機制操作資源的相關實現技巧,需要的朋友可以參考下
    2018-01-01
  • Android 暫停和恢復Activity

    Android 暫停和恢復Activity

    在正常的應用程序使用,前臺activity有時會被其他可視化組件遮擋,從而 造成activity的暫停。例如,當一個半透明的activity打開時(如在一個風格對話框),以前的activity就暫停了。只要 activity仍然是部分可見,但目前沒有獲得焦點,它就依然處于暫停狀態(tài)
    2016-03-03
  • Android編程實現自定義Tab選項卡功能示例

    Android編程實現自定義Tab選項卡功能示例

    這篇文章主要介紹了Android編程實現自定義Tab選項卡功能,結合完整實例形式分析了Android自定義tab選項卡的遍歷、設置及屬性操作相關技巧,需要的朋友可以參考下
    2017-02-02
  • Kotlin+buildSrc更好的管理Gradle依賴譯文

    Kotlin+buildSrc更好的管理Gradle依賴譯文

    這篇文章主要為大家介紹了Kotlin+buildSrc更好的管理Gradle依賴譯文及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Android自定義View接收輸入法輸入的內容

    Android自定義View接收輸入法輸入的內容

    最近的一個項目需要實現需求,希望從一個View上調用輸入法和接收輸入法傳過來的內容,下面這篇文章就給大家分享下Android自定義View接收輸入法輸入的內容的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Android ContentProvider獲取手機聯系人實例

    Android ContentProvider獲取手機聯系人實例

    這篇文章主要介紹了Android ContentProvider獲取手機聯系人實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • android自定義控件ImageView實現圓形圖片

    android自定義控件ImageView實現圓形圖片

    這篇文章主要為大家詳細介紹了android自定義控件ImageView實現圓形圖片,適用于用戶頭像,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android組件初始化三種方式小結

    Android組件初始化三種方式小結

    在Android中,組件的初始化通常需要在適當的生命周期方法中進行,本文給大家詳細的介紹了初始化的三種方式,文中有詳細的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • Android使用音頻信息繪制動態(tài)波紋

    Android使用音頻信息繪制動態(tài)波紋

    這篇文章主要介紹了Android使用音頻信息繪制動態(tài)波紋 的相關資料,需要的朋友可以參考下
    2016-02-02
  • Android實現簡易計步器功能隔天步數清零查看歷史運動紀錄

    Android實現簡易計步器功能隔天步數清零查看歷史運動紀錄

    這篇文章主要介紹了Android實現簡易計步器功能隔天步數清零查看歷史運動紀錄,需要的朋友可以參考下
    2017-06-06

最新評論

邵武市| 德庆县| 重庆市| 巴南区| 晋江市| 泽库县| 鄂伦春自治旗| 五台县| 夹江县| 象州县| 华阴市| 美姑县| 开平市| 丰都县| 墨竹工卡县| 丰县| 临猗县| 鄂伦春自治旗| 石河子市| 乐昌市| 集贤县| 美姑县| 平山县| 苍梧县| 潮州市| 北票市| 玉溪市| 广灵县| 曲靖市| 蛟河市| 犍为县| 和政县| 长岭县| 新建县| 达日县| 溧水县| 齐河县| 中山市| 乌苏市| 台南县| 房产|