Java Android,如何模糊/玻璃化/冻结当前活动

Java Android,如何模糊/玻璃化/冻结当前活动,java,android,user-interface,android-activity,background,Java,Android,User Interface,Android Activity,Background,基本上 在活动中,我有一个列表视图。 当我选择一个项目时,一个透明的活动将作为一个小框打开。 出现此框时,您仍可以查看“上一个活动”屏幕 我想弄清楚的是,如何像下图一样模糊上一个屏幕 图像链接(忽略UI,只需查看模糊的草地区域) 这怎么可能 谢谢您的建议。对于API

基本上

在活动中,我有一个列表视图。 当我选择一个项目时,一个透明的活动将作为一个小框打开。 出现此框时,您仍可以查看“上一个活动”屏幕

我想弄清楚的是,如何像下图一样模糊上一个屏幕 图像链接(忽略UI,只需查看模糊的草地区域)

这怎么可能


谢谢您的建议。

对于API<14,您可以使用
WindowManager.LayoutParams.flag\u BLUR\u后面的标志,但它已被弃用,并且在更高的API上不再支持内置模糊

但是,您可以使用常规视图或覆盖来执行此操作。您要做的是:

  • 从活动的总体布局创建
    位图()
  • 用你想要的任何方法模糊位图()
  • 在布局中添加(或取消隐藏)覆盖所有内容的
    视图。将bkg设置为模糊位图
  • 打开对话框/透明活动
  • 当它关闭时,请删除
    视图
    ,或者
    设置可见性(消失)
    (如果您要再次使用它)

谢谢,我现在就尝试一下!您好,模糊示例需要几秒钟的时间来模糊,因此这会延迟新活动的开始,我如何才能避免这种情况?因为我希望它能尽快模糊和打开。你试过NDK版本的答案吗?据报道,作者的速度提高了40倍。如果你在其他方面都是纯Java的话,这可能有点模糊,但值得一试。另一个想法可能是通过每轮增加2来改变像素循环。它不会是一个像素级的模糊,但是如果你只是在x/y方向上每隔一个像素进行一次模糊,那么只需要1/4的时间。我不确定它会是什么样子,但是改变循环只需要几分钟就可以找到答案。改变算法不起作用。现在发现很难实现NDK版本,NDK可能是最好的选择。好的模糊不是最难的图像处理动作,但也不是最快的。你也许可以找到一个在Java中速度足够快的“脏”模糊算法,但我没有一个可以马上推荐的。