2016-05-17 43 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/ –