2012-04-29 22 views
18

puedo ver que cuando se utiliza la misma bandera, como se muestra en la API-demos para desenfocar el fondo, recibo una advertencia de que está obsoleto:¿Alternativa a "FLAG_BLUR_BEHIND" en Android?

"El WindowManager.LayoutParams.FLAG_BLUR_BEHIND campo está en desuso".

He leído sobre ello, y he encontrado que "Blurring ya no es compatible".

¿Significa que no funcionará en versiones futuras? ¿Por qué lo desaprobaron? ¿Hay una alternativa? Me gusta mucho esta característica.

+1

https://groups.google.com/forum/?fromgroups#!topic/android-developers/LY4MoxxA_MM dice que ya no funciona y no puede reemplazarlo – zapl

+0

está ahí una alternativa que usaría la GPU/CPU para esto? –

+1

Probablemente puedas escribir el tuyo propio si tomas una captura de pantalla de la pantalla actual, la desenfocas y la usas como fondo para tu diálogo o algo así, pero hay una falla nada incorporada – zapl

Respuesta

8

bien, probablemente no haya otra alternativa que use la API, a menos que tal vez me haya olvidado de algo.

puedo usar sin embargo atenuación, que es demasiado frío, como here escrito:

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

Aquí se muestra otra alternativa: http: // www.youtube.com/watch?feature=player_embedded&v=Q8m9sHdyXnE#t=3319s que significa getWindow(). addFlags (WindowManager.LayoutParams.FLAG_DIM_BEHIND) o usa getWindow(). setBackground (nuevo ColorDrawable (0x7f000000) –

+0

'setBackgroundDrawable()' no 'setBackground()' al menos para mí – shkschneider

+2

de hecho, la línea de código en el video de Google es incorrecta. Debe decir 'getWindow(). setBackgroundDrawable (nuevo ColorDrawable (0x7000000));' –

1

cuidado de que

WindowManager.LayoutParams.FLAG_BLUR_BEHIND

es obsoleto .. (al menos en Android 4.0 lleva a una pantalla negra en segundo plano ...)

Referencia (Fuente): http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html

int FLAG_BLUR_BEHIND Esta constante está obsoleto. La borrosidad ya no es compatible.

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) 

lo que es una pena .. :((era un buen efecto;))

+1

¿cómo es? es un efecto genial Además, ¿cómo sabe (en el sitio web de API) de qué versión esta constante está en desuso? Además, ¿qué pasaría si lo uso en Android 4? –

+0

si lo usa en Android 4.0 el fondo no está borroso, es completamente negro, no tiene ningún efecto, tampoco se ve muy bien, porque en todos los demás dispositivos está muy borroso ... a su otra pregunta, edité mi respuesta arriba: mira allí:) – cV2

+0

el enlace que diste es el sitio web API, que es sobre el que he leído. no dicen de qué versión de Android esta característica no está disponible ... –

0

Creo u debe tratar Biblioteca temáticasVisualizar. Para resaltar los elementos en Android.

La biblioteca ShowcaseView está diseñada para resaltar y mostrar partes específicas de aplicaciones para el usuario con una superposición distintiva y atractiva. Esta biblioteca es ideal para señalar puntos de interés para los usuarios, gestos u objetos oscuros pero útiles.

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