iOS 7が使用しているスタイルが好き通知および音楽 popoverは以下のようになります。iOS 7のぼかし表示をAndroidで複製する方法
だから、私は、Androidにこの事を実装してみてください。いくつかの検索をした後、私はそれを行う方法を達成しました。私が試したことは、次のとおりです。
1)まず、ビューのルート参照を取得し、ビューのgetDrawingCache()
機能を使用してスナップを取得します。
linearLayout.buildDrawingCache();
SoftReference<Bitmap> bitmap = new SoftReference<Bitmap>(
Bitmap.createBitmap(linearLayout.getDrawingCache()));
linearLayout.destroyDrawingCache();
2)私は、その親の相対位置をとり、要件ごとに画像を切り取ります。
SoftReference<Bitmap> temp = new SoftReference<Bitmap>(
Bitmap.createBitmap(bitmap.get(), 0,
(parentHeight - childHeight), childWidth, childHeight));
3)私は、ビットマップイメージは、いくつかのアルゴリズムでぼかしことを確認してください。
4)オーバーレイビューで設定(IはFast Bitmap Blur For Android SDKfastBlur効果を使用します)。
imageView1.setImageBitmap(Utils.fastblur(temp.get(), 8));
しかし、私の問題は、それがスナップその後、ぼかし効果を与え、画像をカットを取るために時間がかかり、その後、私は最終的な結果を得ています。引き出しが底から来るように、iOSは非常に高速のぼかし処理をしますが、後ろにあるスクリーンはすぐにぼやけます。
これを達成する他の方法はありますか?私のシナリオを使用するので、私は画面のすべての2番目のスナップを取ることはできませんし、すべてのドロワーの移動ごとに1秒ごとに4すべての処理を行います。
あなたは色の効果で半透明のビューの背景を作ることができますか?あなたがしていることは印象的ですが、ちょっとハッキリしているようですが、あなたのぼかしアルゴリズムをビューの透明度のあるレベルに置き換えることができますか? –
Umh..iはすでにそれをしました。半透明では、透明性のようなものを出力することはできません。現在の「オーバーレイビュー」のコンテンツの後ろをぼかします。 –
あなたには面白い問題があります...あなたがオーバーレイしているビューがあなたのアプリケーションの一部であると仮定して、それを解読しようとすると、そのビュー(その最も親)をビットマップに変換し、このビットマップにぼかし効果を適用できますか? http://stackoverflow.com/questions/2801116/converting-a-view-to-bitmap-without-displaying-it-in-androidあなたに手がかりを与えるかもしれません.. –