19

基本的

アクティビティには、ListView があります。アイテムを選択すると、透明なアクティビティが小さなボックスとして開きます。このボックスが表示されても、以前のアクティビティ画面を引き続き表示できます。

私が理解しようとしているのは、ここにリンクされている画像のように前の画面をぼかす方法です(UI を無視して、ぼやけた芝生の領域を見てください)。

これはどのように可能ですか?

アドバイスありがとうございます。

4

1 に答える 1

35

API < 14 の場合、 flag を使用できますが、WindowManager.LayoutParams.FLAG_BLUR_BEHIND廃止され、組み込みのぼかしは上位の API ではサポートされなくなりました

ただし、これは通常のビューまたはオーバーレイで行うことができます。あなたがしたいことは次のとおりです。

  • Bitmapアクティビティの全体的なレイアウトから を作成します (例については、こちらを参照してください) 。
  • 好きな方法でビットマップをぼかします(ここにいくつかの例があります
  • Viewすべてをカバーするレイアウトに を追加 (または再表示)します。bkg をぼやけたビットマップに設定する
  • ダイアログ/透明なアクティビティを開く
  • 閉じたら、 を削除するか、View再度setVisibility(GONE)使用する場合。
于 2012-11-15T21:52:14.553 に答える