2016-05-17 46 views
0

我一直在爲我的登錄屏幕上的RenderBlur擺弄圖像,我已經得到了一切工作與runnable()和延遲立即模糊圖像,但我試圖以便在用戶名和密碼字段可見時使其緩慢模糊。RenderScript「slow」blur

我已經看了一下(可能在錯誤的地方看),但我還沒有找到任何與我之後的事情有關的東西。我試圖使用一個while循環,並有一個blurradius值遞增,然後發送到blurBitmap類方法,但它要麼立即模糊它(這意味着我可能搞砸了某個地方,並很可能會繼續嘗試這個方法,直到找到更好的解決方案)..或者崩潰。

有沒有人知道如果,首先這可能與RenderScript?如果是這樣,我應該尋找什麼。

感謝您提供的任何幫助。

資源:https://futurestud.io/blog/how-to-use-the-renderscript-support-library-with-gradle-based-android-projects

回答

1

一再模糊的圖像可能會導致一些性能問題與您的應用程序。

這裏是你能做什麼:

  1. 安排(爲清晰的圖像,另一個爲 最大模糊第1版)2張影像,使模糊圖像正好放在 頂部的圖像清晰。最簡單的方法是將2個ImageView S IN一FrameLayout
  2. 要實現「慢」的虛化效果,初步確定了模糊圖像的Alpha爲0
  3. 然後,使用視圖的一個,發出postDelayed事件慢慢將模糊圖像的alpha增加到255.
2

您可以使用RenderScript來做到這一點,不過現在您是如何做到這一點聽起來不是一個好主意。看看使用自定義Animator,然後您可以對圖像運行RS模糊。從長遠來看,使用Animator將更加靈活,並自動與視圖系統綁定,而不要求您明確處理ViewActivity狀態。

@JasonWijhardja概述的方法也可以,但我也會建議在Animator或類似的機制中這樣做。

+0

我希望有某種動畫功能,我會進一步研究並祈禱我能想出來:P –

+0

您可能會覺得這篇文章對於開始使用Animator對象有幫助:http:// hiqes.com/android-animations-pt2/ –