19

基本上

在一个活动中,我有一个 ListView。当我选择一个项目时,一个透明的活动会以一个小框的形式打开。当此框出现时,您仍然可以查看之前的活动屏幕,

我想弄清楚的是如何像这里链接的图像一样模糊以前的屏幕(忽略 UI,只看模糊的草地区域)。

这怎么可能?

谢谢你的任何建议。

4

1 回答 1

35

对于 API < 14,您可以使用 flag WindowManager.LayoutParams.FLAG_BLUR_BEHIND,但它已被弃用,并且更高的 API 不再支持内置模糊

但是,您可以使用常规视图或叠加层来执行此操作。你想做的是:

  • Bitmap从您的活动的整体布局创建一个(例如,请参见此处
  • 用任何你想要的方法模糊那个位图(这里有几个例子
  • View在涵盖所有内容的布局中添加(或取消隐藏)a 。将 bkg 设置为模糊位图
  • 打开您的对话框/透明活动
  • 当它关闭时,请删除View,或者setVisibility(GONE)如果您将再次使用它。
于 2012-11-15T21:52:14.553 回答