Search in sources :

Example 41 with RenderNodeAnimator

use of android.view.RenderNodeAnimator in project platform_frameworks_base by android.

the class LockPatternView method startRtAlphaAnimation.

private void startRtAlphaAnimation(CellState cellState, float endAlpha, long delay, long duration, Interpolator interpolator, Animator.AnimatorListener listener) {
    RenderNodeAnimator animator = new RenderNodeAnimator(cellState.hwPaint, RenderNodeAnimator.PAINT_ALPHA, (int) (endAlpha * 255));
    animator.setDuration(duration);
    animator.setStartDelay(delay);
    animator.setInterpolator(interpolator);
    animator.setTarget(this);
    animator.addListener(listener);
    animator.start();
}
Also used : RenderNodeAnimator(android.view.RenderNodeAnimator)

Example 42 with RenderNodeAnimator

use of android.view.RenderNodeAnimator in project platform_frameworks_base by android.

the class LockPatternView method startRtFloatAnimation.

private void startRtFloatAnimation(CanvasProperty<Float> property, float endValue, long delay, long duration, Interpolator interpolator) {
    RenderNodeAnimator animator = new RenderNodeAnimator(property, endValue);
    animator.setDuration(duration);
    animator.setStartDelay(delay);
    animator.setInterpolator(interpolator);
    animator.setTarget(this);
    animator.start();
}
Also used : RenderNodeAnimator(android.view.RenderNodeAnimator)

Example 43 with RenderNodeAnimator

use of android.view.RenderNodeAnimator in project platform_frameworks_base by android.

the class RippleBackground method createHardwareExit.

@Override
protected RenderNodeAnimatorSet createHardwareExit(Paint p) {
    final RenderNodeAnimatorSet set = new RenderNodeAnimatorSet();
    final int targetAlpha = p.getAlpha();
    final int currentAlpha = (int) (mOpacity * targetAlpha + 0.5f);
    p.setAlpha(currentAlpha);
    mPropPaint = CanvasProperty.createPaint(p);
    mPropRadius = CanvasProperty.createFloat(mTargetRadius);
    mPropX = CanvasProperty.createFloat(0);
    mPropY = CanvasProperty.createFloat(0);
    final int fastEnterDuration = mIsBounded ? (int) ((1 - mOpacity) * OPACITY_ENTER_DURATION_FAST) : 0;
    // Linear exit after enter is completed.
    final RenderNodeAnimator exit = new RenderNodeAnimator(mPropPaint, RenderNodeAnimator.PAINT_ALPHA, 0);
    exit.setInterpolator(LINEAR_INTERPOLATOR);
    exit.setDuration(OPACITY_EXIT_DURATION);
    if (fastEnterDuration > 0) {
        exit.setStartDelay(fastEnterDuration);
        exit.setStartValue(targetAlpha);
    }
    set.add(exit);
    // Linear "fast" enter based on current opacity.
    if (fastEnterDuration > 0) {
        final RenderNodeAnimator enter = new RenderNodeAnimator(mPropPaint, RenderNodeAnimator.PAINT_ALPHA, targetAlpha);
        enter.setInterpolator(LINEAR_INTERPOLATOR);
        enter.setDuration(fastEnterDuration);
        set.add(enter);
    }
    return set;
}
Also used : RenderNodeAnimator(android.view.RenderNodeAnimator) Paint(android.graphics.Paint)

Example 44 with RenderNodeAnimator

use of android.view.RenderNodeAnimator in project platform_frameworks_base by android.

the class RippleForeground method createHardwareExit.

@Override
protected RenderNodeAnimatorSet createHardwareExit(Paint p) {
    final int radiusDuration;
    final int originDuration;
    final int opacityDuration;
    if (mIsBounded) {
        computeBoundedTargetValues();
        radiusDuration = BOUNDED_RADIUS_EXIT_DURATION;
        originDuration = BOUNDED_ORIGIN_EXIT_DURATION;
        opacityDuration = BOUNDED_OPACITY_EXIT_DURATION;
    } else {
        radiusDuration = getRadiusExitDuration();
        originDuration = radiusDuration;
        opacityDuration = getOpacityExitDuration();
    }
    final float startX = getCurrentX();
    final float startY = getCurrentY();
    final float startRadius = getCurrentRadius();
    p.setAlpha((int) (p.getAlpha() * mOpacity + 0.5f));
    mPropPaint = CanvasProperty.createPaint(p);
    mPropRadius = CanvasProperty.createFloat(startRadius);
    mPropX = CanvasProperty.createFloat(startX);
    mPropY = CanvasProperty.createFloat(startY);
    final RenderNodeAnimator radius = new RenderNodeAnimator(mPropRadius, mTargetRadius);
    radius.setDuration(radiusDuration);
    radius.setInterpolator(DECELERATE_INTERPOLATOR);
    final RenderNodeAnimator x = new RenderNodeAnimator(mPropX, mTargetX);
    x.setDuration(originDuration);
    x.setInterpolator(DECELERATE_INTERPOLATOR);
    final RenderNodeAnimator y = new RenderNodeAnimator(mPropY, mTargetY);
    y.setDuration(originDuration);
    y.setInterpolator(DECELERATE_INTERPOLATOR);
    final RenderNodeAnimator opacity = new RenderNodeAnimator(mPropPaint, RenderNodeAnimator.PAINT_ALPHA, 0);
    opacity.setDuration(opacityDuration);
    opacity.setInterpolator(LINEAR_INTERPOLATOR);
    opacity.addListener(mAnimationListener);
    final RenderNodeAnimatorSet set = new RenderNodeAnimatorSet();
    set.add(radius);
    set.add(opacity);
    set.add(x);
    set.add(y);
    return set;
}
Also used : RenderNodeAnimator(android.view.RenderNodeAnimator) Paint(android.graphics.Paint)

Example 45 with RenderNodeAnimator

use of android.view.RenderNodeAnimator in project platform_frameworks_base by android.

the class KeyButtonRipple method enterHardware.

private void enterHardware() {
    cancelAnimations();
    mDrawingHardwareGlow = true;
    setExtendStart(CanvasProperty.createFloat(getExtendSize() / 2));
    final RenderNodeAnimator startAnim = new RenderNodeAnimator(getExtendStart(), getExtendSize() / 2 - GLOW_MAX_SCALE_FACTOR * getRippleSize() / 2);
    startAnim.setDuration(ANIMATION_DURATION_SCALE);
    startAnim.setInterpolator(mInterpolator);
    startAnim.addListener(mAnimatorListener);
    startAnim.setTarget(mTargetView);
    setExtendEnd(CanvasProperty.createFloat(getExtendSize() / 2));
    final RenderNodeAnimator endAnim = new RenderNodeAnimator(getExtendEnd(), getExtendSize() / 2 + GLOW_MAX_SCALE_FACTOR * getRippleSize() / 2);
    endAnim.setDuration(ANIMATION_DURATION_SCALE);
    endAnim.setInterpolator(mInterpolator);
    endAnim.addListener(mAnimatorListener);
    endAnim.setTarget(mTargetView);
    if (isHorizontal()) {
        mTopProp = CanvasProperty.createFloat(0f);
        mBottomProp = CanvasProperty.createFloat(getBounds().height());
        mRxProp = CanvasProperty.createFloat(getBounds().height() / 2);
        mRyProp = CanvasProperty.createFloat(getBounds().height() / 2);
    } else {
        mLeftProp = CanvasProperty.createFloat(0f);
        mRightProp = CanvasProperty.createFloat(getBounds().width());
        mRxProp = CanvasProperty.createFloat(getBounds().width() / 2);
        mRyProp = CanvasProperty.createFloat(getBounds().width() / 2);
    }
    mGlowScale = GLOW_MAX_SCALE_FACTOR;
    mGlowAlpha = GLOW_MAX_ALPHA;
    mRipplePaint = getRipplePaint();
    mRipplePaint.setAlpha((int) (mGlowAlpha * 255));
    mPaintProp = CanvasProperty.createPaint(mRipplePaint);
    startAnim.start();
    endAnim.start();
    mRunningAnimations.add(startAnim);
    mRunningAnimations.add(endAnim);
    invalidateSelf();
}
Also used : RenderNodeAnimator(android.view.RenderNodeAnimator)

Aggregations

RenderNodeAnimator (android.view.RenderNodeAnimator)67 Paint (android.graphics.Paint)15 Animator (android.animation.Animator)10 ObjectAnimator (android.animation.ObjectAnimator)10 ValueAnimator (android.animation.ValueAnimator)10 ViewPropertyAnimator (android.view.ViewPropertyAnimator)10 AnimatorListenerAdapter (android.animation.AnimatorListenerAdapter)5 View (android.view.View)4 AdapterView (android.widget.AdapterView)4 ListView (android.widget.ListView)4