2012-11-15 8 views
17

Temel olarakAndroid, bulanıklaştırma/cam/donma akımı etkinleştirme

Bir aktivitede, bir ListView var. Bir öğeyi seçtiğimde, şeffaf bir etkinlik küçük bir kutu olarak açılır. Bu kutu göründüğünde , yine önceki faaliyetler ekranını görüntüleyebilir,

ben anlamaya sadece bulanık çimlere bak, görüntü here bağlantılı gibi önceki ekranı (UI Ignore bulanıklık nasıl olduğunu çalışıyorum ne

alan).

Bu nasıl olabilir?

Önerileriniz için teşekkür ederiz. Eğer düzenli görünüm veya bindirme ile bu yapabileceğini,

cevap

33

API < 14 için, bayrak WindowManager.LayoutParams.FLAG_BLUR_BEHIND kullanabilirsiniz, ancak

Ancak yüksek API'ler üzerinde kaldırıldığı ve yerleşik bulanık artık desteklenmiyor. Ne yapmak istediğim:

  • da etkinliğin genel düzenini sizi (a few examples here)
  • Add (ya unhide) istersen yöntemi ile bitmap (see here for example)
  • Blur bir View bir Bitmap yaratın her şeyi kapsayan düzen. bulanık Bitmap
  • o kapattığında sizin iletişim/şeffaf aktiviteyi
  • açın ya tekrar kullanacaksanız View veya setVisibility(GONE) kaldırmak bkg ayarlayın.
+0

Teşekkür ederim, şimdi bunu denemeliyim! – rennoDeniro

+0

Merhaba, Bulanıklık örnekleri birkaç saniye sürecek ve bu durum yeni aktivitenin açılmasını geciktirecek, Bu konuyla nasıl ilgilenebilirim? Bunun olabildiğince hızlı ve bulanık olmasını istiyorum. – rennoDeniro

+0

Gösterilen sorunun NDK sürümünü denediniz mi? Yazar, 40x hızlandırılmış bir yerel hıza ulaştı. Her şey için saf bir Java iseniz, bu sadece bir bulanıklık için biraz olabilir, ama bir atış değer. Başka bir fikir, piksel döngülerini her turda 2 artırarak değiştirmek olabilir. Bu piksel mükemmel bir bulanıklık olmayacak, ancak x/y için diğer tüm pikselleri yaparsanız, yalnızca 1/4'ü almalıdır. Nasıl göründüğünden emin değilim, ama öğrenmek için döngüyü değiştirmek sadece birkaç dakika sürecektir. – Geobits