2012-04-29 29 views
18

widzę, że kiedy używać tego samego flagę, jak pokazano na API demo na rozmycie tła, pojawia się ostrzeżenie, że to nieaktualne:Alternatywa dla "FLAG_BLUR_BEHIND" w systemie Android?

„The WindowManager.LayoutParams.FLAG_BLUR_BEHIND pole jest nieaktualna”.

Przeczytałem o tym i stwierdziłem, że "Zamazywanie nie jest już obsługiwane".

Czy to oznacza, że ​​nie będzie działać w przyszłych wersjach? Dlaczego go wycofali? Czy istnieje alternatywa? Bardzo mi się podoba ta funkcja.

+1

https://groups.google.com/forum/?fromgroups#!topic/android-developers/LY4MoxxA_MM mówi, że już nie działa i nie można zastąpić go – zapl

+0

jest tam alternatywa, która wykorzystałaby do tego GPU/CPU? –

+1

Prawdopodobnie możesz napisać własną, jeśli zrobisz zrzut ekranu bieżącego ekranu, zamoczysz go i użyjesz go jako tła w oknie dialogowym lub coś podobnego, ale nie ma nic innego, jak wbudowana jest – zapl

Odpowiedz

8

OK, prawdopodobnie nie ma alternatywy, która używa API, chyba że zapomniałem o wszystkim.

mogę jednak użyć ściemnianie, co jest fajne, jak napisane here:

WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); 
lp.dimAmount=0.0f; 
dialog.getWindow().setAttributes(lp); 
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
+4

inna alternatywa: http: // www.youtube.com/watch?feature=player_embedded&v=Q8m9sHdyXnE#t=3319s znaczenie getWindow(). addFlags (WindowManager.LayoutParams.FLAG_DIM_BEHIND) lub użyj getWindow(). setBackground (new ColorDrawable (0x7f000000) –

+0

'setBackgroundDrawable()' nie 'setBackground()' przynajmniej dla mnie – shkschneider

+2

Rzeczywiście, linia kodu w wideo Google jest niepoprawna.To powinno brzmieć 'getWindow() .setBackgroundDrawable (new ColorDrawable (0x7000000));' –

1

uważaj że

WindowManager.LayoutParams.FLAG_BLUR_BEHIND

jest przestarzała .. (przynajmniej na Androidzie 4.0 prowadzi do czarnego ekranu w tle ...)

Reference (źródło): http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html

int FLAG_BLUR_BEHIND Stała ta jest przestarzała. Rozmycie nie jest już obsługiwane.

public static final int FLAG_BLUR_BEHIND 

Since: API Level 1 
This constant is deprecated. 
Blurring is no longer supported. 

Window flag: blur everything behind this window. 

Constant Value: 4 (0x00000004) 

co za szkoda .. :((był ładny efekt;))

+1

jak to możliwe? to fajny efekt. także, skąd wiadomo (na stronie API), z której wersji ta stała jest przestarzała? co się stanie, jeśli użyję go na Androidzie 4? –

+0

jeśli używasz go na Androidzie 4.0, tło nie jest rozmyte, jest czarne, nie ma żadnego efektu, również nie wygląda zbyt dobrze, ponieważ na wszystkich innych urządzeniach jest ładnie rozmyte ... do drugiego pytania, zredagowałem moją odpowiedź powyżej: spójrz tam:) – cV2

+0

podany link to strona API, o której czytałem. nie mówią, z której wersji Androida ta funkcja jest niedostępna ... –

0

Myślę, że u powinni próbować FotowitrynieZobacz Library. Do zaznaczania elementów na Androida.

Biblioteka ShowcaseView służy do wyróżniania i prezentowania określonych części aplikacji użytkownikowi z charakterystyczną i atrakcyjną nakładką. Ta biblioteka doskonale nadaje się do wskazywania punktów zainteresowania użytkowników, gestów lub niejasnych, ale przydatnych elementów.

Github Link: https://github.com/amlcurran/ShowcaseView