android rippledrawable

android - No se pudo encontrar RippleDrawable



(2)

El problema es que debe devolver un Drawable en lugar de un RippleDrawable en getPressedColorRippleDrawable . De lo contrario, en dispositivos pre-lollipop, obtendrá un VerifyError.

Quiero crear una onda dinámicamente en el código.

Código:

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { buyButton.setBackground(getPressedColorRippleDrawable(primaryColor, darkerVariant)); } public static RippleDrawable getPressedColorRippleDrawable(int color, int darkerVariant) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ColorStateList colorStateList = new ColorStateList( new int[][] {new int[]{}}, new int[] {darkerVariant} ); return new RippleDrawable(colorStateList, new ColorDrawable(color), null); } return null; }

Esto funciona en Lollipop pero hace que la aplicación se bloquee en mi GNEX (4.3).
Error:

No se pudo encontrar la clase ''android.graphics.drawable.RippleDrawable'', a la que se hace referencia en los fragmentos del método.ProductDetailFragment.getPressedColorRippleDrawable

07-17 12: 57: 45.757 30992-30992 / com.comizzo.ginsonline E / AndroidRuntime ﹕ EXCEPCIÓN FATAL: principal

java.lang.VerifyError: fragments / ProductDetailFragment

Pero RippleDrawable nunca se usa en Gnex porque el código no se ejecuta.

Cómo puedo arreglar esto ?


Ese código de hecho no se está ejecutando. La aplicación se bloquea porque está recibiendo un java.lang.VerifyError . Intente realizar un Project → Clean si está utilizando Eclipse o Build → Rebuild project si está utilizando Android Studio.