2012-11-15 44 views
17

基本上Android,如何模糊/玻璃/霜凍當前活動

在活動中,我有一個ListView。 當我選擇一個項目時,透明活動打開爲一個小方框。 當此對話框出現時,您仍然可以查看以前的活動畫面,

什麼,我試圖找出如何模糊先前的屏幕像 圖像鏈接here(忽略UI,只是看模糊草區)。

這怎麼可能?

謝謝你的任何建議。

回答

33

對於API < 14,您可以使用標誌WindowManager.LayoutParams.FLAG_BLUR_BEHIND,但它已經過時,內置的模糊不再支持更高的API

但是,你可以用普通視圖或疊加做到這一點。你想要做的是:

  • 從活動的整體佈局中創建一個Bitmapsee here for example
  • 模糊與任何你想要的(a few examples here
  • 添加(或取消隱藏)位圖View您涵蓋一切的佈局。設置BKG模糊不清位圖
  • 打開對話框/透明活動
  • 當它關閉,或者刪除View,或setVisibility(GONE)如果你將再次使用它。
+0

謝謝,我現在就試試這個! – rennoDeniro

+0

你好,模糊示例需要幾秒鐘才能模糊,所以這會延遲新活動的開始, 我該如何解決這個問題?我希望它儘可能快地模糊和打開。 – rennoDeniro

+0

您是否嘗試過顯示答案的NDK版本?作者得到了原生40倍的加速。如果你對於其他任何東西都是純Java的話,可能會有點模糊,但是值得一試。另一個想法可能是通過每輪遞增2來改變像素循環。它不會是像素完美的模糊,但如果您只是爲x/y執行其他所有像素,則應該只需要1/4的時間。我不確定它會如何看,但它應該只需要幾分鐘來改變循環找出。 – Geobits