@Override public void onAnimationUpdate(ValueAnimator valueAnimator) { ImageView imageView = (ImageView) animator.getTarget(); float fraction = animator.getAnimatedFraction(); saturationMatrix.setSaturation((Float) animator.getAnimatedValue()); float scale = 2 - interpolator.getInterpolation(Math.min((1 - fraction) * 4 / 3, 1)); brightnessMatrix.setScale(scale, scale, scale, 1); saturationMatrix.preConcat(brightnessMatrix); imageView.setColorFilter(new ColorMatrixColorFilter(saturationMatrix)); imageView.setAlpha(interpolator.getInterpolation(Math.min((1 - fraction) * 2, 1))); } });
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) { ImageView imageView = (ImageView) animator.getTarget(); float fraction = animator.getAnimatedFraction(); saturationMatrix.setSaturation((Float) animator.getAnimatedValue()); float scale = 2 - interpolator.getInterpolation(Math.min(fraction * 4 / 3, 1)); brightnessMatrix.setScale(scale, scale, scale, 1); saturationMatrix.preConcat(brightnessMatrix); imageView.setColorFilter(new ColorMatrixColorFilter(saturationMatrix)); imageView.setAlpha(interpolator.getInterpolation(Math.min(fraction * 2, 1))); } });
0, 0, range, 0, GHOST_MODE_MIN_COLOR_RANGE, 0, 0, 0, 1, 0 }); sGhostModeMatrix.preConcat(sTempMatrix);
0, 0, range, 0, GHOST_MODE_MIN_COLOR_RANGE, 0, 0, 0, 1, 0 }); sGhostModeMatrix.preConcat(sTempMatrix);
mat[9] = brightnessI; mat[14] = brightnessI; sTempFilterMatrix.preConcat(sTempBrightnessMatrix);
mat[9] = brightnessI; mat[14] = brightnessI; sTempFilterMatrix.preConcat(sTempBrightnessMatrix);
mat[9] = brightnessI; mat[14] = brightnessI; sTempFilterMatrix.preConcat(sTempBrightnessMatrix);