android.animation.ValueAnimator#setEvaluator ( )源码实例Demo

下面列出了android.animation.ValueAnimator#setEvaluator ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mollyim-android   文件: VerifyIdentityActivity.java
private void setCodeSegment(final TextView codeView, String segment) {
  ValueAnimator valueAnimator = new ValueAnimator();
  valueAnimator.setObjectValues(0, Integer.parseInt(segment));

  valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
      int value = (int) animation.getAnimatedValue();
      codeView.setText(String.format(Locale.getDefault(), "%05d", value));
    }
  });

  valueAnimator.setEvaluator(new TypeEvaluator<Integer>() {
    public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
      return Math.round(startValue + (endValue - startValue) * fraction);
    }
  });

  valueAnimator.setDuration(1000);
  valueAnimator.start();
}
 
/**
 * Change the color of the statusbackground, toolbar, toolbarlayout and pagertitlestrip
 * With a color transition animation
 *
 * @param color    the final color
 * @param duration the transition color animation duration
 */
void setColor(int color, int duration) {
    final ValueAnimator colorAnim = ObjectAnimator.ofInt(mHeader.headerBackground, "backgroundColor", settings.color, color);
    colorAnim.setEvaluator(new ArgbEvaluator());
    colorAnim.setDuration(duration);
    colorAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            final int animatedValue = (Integer) animation.getAnimatedValue();
            int colorAlpha = colorWithAlpha(animatedValue, lastPercent);
            mHeader.headerBackground.setBackgroundColor(colorAlpha);
            mHeader.statusBackground.setBackgroundColor(colorAlpha);
            mHeader.toolbar.setBackgroundColor(colorAlpha);
            mHeader.toolbarLayoutBackground.setBackgroundColor(colorAlpha);
            mHeader.mPagerSlidingTabStrip.setBackgroundColor(colorAlpha);

            //set the new color as MaterialViewPager's color
            settings.color = animatedValue;
        }
    });
    colorAnim.start();
}
 
源代码3 项目: Sign-Up   文件: SignUp.java
private void ease2(final View view) {
    Easing easing = new Easing(1200);
    AnimatorSet animatorSet = new AnimatorSet();
    float fromY = 600;
    float toY = view.getTop();
    ValueAnimator valueAnimatorY = ValueAnimator.ofFloat(fromY,toY);

    valueAnimatorY.setEvaluator(easing);

    valueAnimatorY.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            view.setTranslationY((float) animation.getAnimatedValue());
        }
    });

    animatorSet.playTogether(valueAnimatorY);
    animatorSet.setDuration(1100);
    animatorSet.start();
}
 
源代码4 项目: APKMirror   文件: MainActivity.java
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void changeUIColor(Integer color) {

    ValueAnimator anim = ValueAnimator.ofArgb(previsionThemeColor, color);
    anim.setEvaluator(new ArgbEvaluator());

    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            progressBar.getProgressDrawable().setColorFilter(new LightingColorFilter(0xFF000000, (Integer) valueAnimator.getAnimatedValue()));
            setSystemBarColor((Integer) valueAnimator.getAnimatedValue());
            navigation.setActiveTabColor((Integer) valueAnimator.getAnimatedValue());
            fabSearch.setBackgroundTintList(ColorStateList.valueOf((Integer) valueAnimator.getAnimatedValue()));

        }
    });

    anim.setDuration(getResources().getInteger(android.R.integer.config_shortAnimTime));
    anim.start();
    refreshLayout.setColorSchemeColors(color, color, color);

}
 
源代码5 项目: zone-sdk   文件: TextViewLinkActivity.java
public ForegroundColorSpanAni(View view) {
    this.view = view;

    ValueAnimator animator = ValueAnimator.ofInt(Color.RED, Color.BLUE);
    animator.setEvaluator(new ArgbEvaluator());
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            color = (int) animation.getAnimatedValue();
            view.invalidate();
        }
    });
    animator.setRepeatMode(ValueAnimator.REVERSE);
    animator.setRepeatCount(-1);
    animator.start();
}
 
源代码6 项目: Android   文件: MainActivity.java
private void selectRightAnswer(Button btn) {
    int colorStart=btn.getSolidColor();
    int colorEnd=getResources().getColor(R.color.colorPrimary);
    ValueAnimator valueAnimator = ObjectAnimator.ofInt(btn,"backgroundColor",colorStart,colorEnd);
    valueAnimator.setDuration(300);
    valueAnimator.setEvaluator(new ArgbEvaluator());
    btn.setTextColor(getResources().getColor(R.color.color_white));

    valueAnimator.setRepeatCount(0);
    valueAnimator.start();

    hideButtons();
}
 
源代码7 项目: adamant-android   文件: AnimationUtils.java
private static void startBackgroundColorAnimation(final View view, int startColor, int endColor, int duration) {
    ValueAnimator anim = new ValueAnimator();
    anim.setIntValues(startColor, endColor);
    anim.setEvaluator(new ArgbEvaluator());
    anim.setDuration(duration);
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            view.setBackgroundColor((Integer) valueAnimator.getAnimatedValue());
        }
    });
    anim.start();
}
 
源代码8 项目: XDroidAnimation   文件: ColorAnimation.java
@Override
public AnimatorSet createAnimatorSet() {
	ValueAnimator colorAnim = ObjectAnimator.ofInt(targetView, propertiesName, values);
       colorAnim.setDuration(3000);
       colorAnim.setEvaluator(new ArgbEvaluator());
       AnimatorSet colorSet = new AnimatorSet();
       colorSet.play(colorAnim);
       if (listener != null) {
		colorSet.addListener(listener);
	}
	return colorSet;
}
 
源代码9 项目: SearchPreference   文件: AnimationUtils.java
private static void startColorAnimation(final View view, final int startColor, final int endColor, int duration) {
    ValueAnimator anim = new ValueAnimator();
    anim.setIntValues(startColor, endColor);
    anim.setEvaluator(new ArgbEvaluator());
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            view.setBackgroundColor((Integer) valueAnimator.getAnimatedValue());
        }
    });
    anim.setDuration(duration);
    anim.start();
}
 
源代码10 项目: Android_UE   文件: MoreMenuHelper.java
/**
 * 旋转菜单按钮
 */
private void rotationActionMenu(int from, int to) {
    ValueAnimator fadeAnim = ObjectAnimator.ofFloat(fabCloseMoreMenu, "rotation", from, to);
    fadeAnim.setDuration(300);
    KickBackAnimator kickAnimator = new KickBackAnimator();
    kickAnimator.setDuration(150);
    fadeAnim.setEvaluator(kickAnimator);
    fadeAnim.start();
}
 
源代码11 项目: AnimationEasingFunctions   文件: Glider.java
public static ValueAnimator glide(Skill skill, float duration, ValueAnimator animator, BaseEasingMethod.EasingListener... listeners) {
    BaseEasingMethod t = skill.getMethod(duration);

    if (listeners != null)
        t.addEasingListeners(listeners);

    animator.setEvaluator(t);
    return animator;
}
 
@NonNull
private static ValueAnimator newArgbValueAnimator(int[] colors) {
    // Equivalent to ValueAnimator.ofArgb() which is only for API 21+.
    ValueAnimator animator = ValueAnimator.ofInt(colors);
    animator.setEvaluator(new ArgbEvaluator());
    return animator;
}
 
源代码13 项目: BottomBar   文件: BottomBarTab.java
private void animateColors(int previousColor, int color) {
    ValueAnimator anim = new ValueAnimator();
    anim.setIntValues(previousColor, color);
    anim.setEvaluator(new ArgbEvaluator());
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            setColors((Integer) valueAnimator.getAnimatedValue());
        }
    });

    anim.setDuration(150);
    anim.start();
}
 
@NonNull
private static ValueAnimator newArgbValueAnimator(int[] colors) {
    // Equivalent to ValueAnimator.ofArgb() which is only for API 21+.
    ValueAnimator animator = ValueAnimator.ofInt(colors);
    animator.setEvaluator(new ArgbEvaluator());
    return animator;
}
 
源代码15 项目: AndroidStudyDemo   文件: PropertyAnimActivity.java
public void testColor(View v) {
    ValueAnimator colorAnim = ObjectAnimator.ofInt(v, "backgroundColor", /*Red*/0xFFFF8080, /*Blue*/0xFF8080FF);
    colorAnim.setDuration(C.Int.ANIM_DURATION * 3);
    colorAnim.setEvaluator(new ArgbEvaluator());
    colorAnim.setRepeatCount(ValueAnimator.INFINITE);
    colorAnim.setRepeatMode(ValueAnimator.REVERSE);
    colorAnim.start();
}
 
源代码16 项目: Kore   文件: PulsateAnimation.java
private ValueAnimator createValueAnimator(int startColor, int endColor) {
    ValueAnimator valueAnimator = new ValueAnimator();
    valueAnimator.setDuration(1000);
    valueAnimator.setIntValues(startColor, endColor);
    valueAnimator.setEvaluator(new ArgbEvaluator());
    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animator) {
            int color = (int) animator.getAnimatedValue();
            view.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);
        }
    });
    return valueAnimator;
}
 
源代码17 项目: ElasticProgressBar   文件: PathAnimatorInflater.java
/**
 * @param anim                The animator, must not be null
 * @param arrayAnimator       Incoming typed array for Animator's attributes.
 * @param arrayObjectAnimator Incoming typed array for Object Animator's
 *                            attributes.
 */
private static void parseAnimatorFromTypeArray(ValueAnimator anim,
                                               TypedArray arrayAnimator, TypedArray arrayObjectAnimator) {
    long duration = arrayAnimator.getInt(R.styleable.Animator_android_duration, 300);

    long startDelay = arrayAnimator.getInt(R.styleable.Animator_android_startOffset, 0);

    int valueType = arrayAnimator.getInt(R.styleable.Animator_vc_valueType, 0);

    TypeEvaluator evaluator = null;

    // Must be a path animator by the time I reach here
    if (valueType == VALUE_TYPE_PATH) {
        evaluator = setupAnimatorForPath(anim, arrayAnimator);
    } else {
        throw new IllegalArgumentException("target is not a pathType target");
    }

    anim.setDuration(duration);
    anim.setStartDelay(startDelay);

    if (arrayAnimator.hasValue(R.styleable.Animator_android_repeatCount)) {
        anim.setRepeatCount(
                arrayAnimator.getInt(R.styleable.Animator_android_repeatCount, 0));
    }
    if (arrayAnimator.hasValue(R.styleable.Animator_android_repeatMode)) {
        anim.setRepeatMode(
                arrayAnimator.getInt(R.styleable.Animator_android_repeatMode,
                        ValueAnimator.RESTART));
    }
    if (evaluator != null) {
        anim.setEvaluator(evaluator);
    }

    if (arrayObjectAnimator != null) {
        setupObjectAnimator(anim, arrayObjectAnimator);
    }
}
 
源代码18 项目: PermissionHelper   文件: BasePermissionActivity.java
private void animateColorChange(final View view, final int color) {
    ValueAnimator animator = new ValueAnimator();
    animator.setIntValues(((ColorDrawable) view.getBackground()).getColor(), color);
    animator.setEvaluator(new ArgbEvaluator());
    animator.setDuration(600);
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            view.setBackgroundColor((Integer) animation.getAnimatedValue());
            onStatusBarColorChange((Integer) animation.getAnimatedValue());
        }
    });
    animator.start();
}
 
源代码19 项目: MiBandDecompiled   文件: AnimUtil.java
public static Animator animNumSwitch(int i1, int j1, TextView textview)
{
    int k1 = j1 - i1;
    String s = String.valueOf(Math.abs(k1));
    int ai[] = new int[s.length()];
    for (int l1 = 0; l1 < s.length(); l1++)
    {
        ai[l1] = -48 + s.charAt(-1 + (s.length() - l1));
    }

    ArrayList arraylist = new ArrayList();
    arraylist.add(formatNumStyle(i1));
    int i2 = 0;
    int j2 = 1;
    do
    {
        if (i2 >= ai.length)
        {
            break;
        }
        int i3 = Integer.valueOf(ai[i2]).intValue();
        int j3 = 0;
        while (j3 < i3) 
        {
            if (k1 > 0)
            {
                i1 += j2;
            } else
            if (k1 < 0)
            {
                i1 -= j2;
            }
            arraylist.add(formatNumStyle(i1));
            j3++;
        }
        j2 *= 10;
        i2++;
    } while (true);
    arraylist.add(formatNumStyle(j1));
    Keyframe akeyframe[] = new Keyframe[1 + arraylist.size()];
    int k2 = 0;
    while (k2 <= arraylist.size()) 
    {
        float f1 = (1.0F / (float)arraylist.size()) * (float)k2;
        int l2;
        if (k2 == 0)
        {
            l2 = 0;
        } else
        {
            l2 = k2 - 1;
        }
        akeyframe[k2] = Keyframe.ofObject(f1, arraylist.get(l2));
        k2++;
    }
    ValueAnimator valueanimator = ValueAnimator.ofPropertyValuesHolder(new PropertyValuesHolder[] {
        PropertyValuesHolder.ofKeyframe("Text", akeyframe)
    });
    valueanimator.setEvaluator(new g());
    valueanimator.addUpdateListener(new h(textview));
    valueanimator.setDuration(20 * akeyframe.length);
    return valueanimator;
}
 
源代码20 项目: MiBandDecompiled   文件: AnimUtil.java
public static Animator animNumSwitch1(int i1, int j1, TextView textview)
{
    String s = String.valueOf(i1);
    int ai[] = new int[s.length()];
    for (int k1 = 0; k1 < s.length(); k1++)
    {
        ai[-1 + (s.length() - k1)] = -48 + s.charAt(k1);
        Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Num : ").append(ai[-1 + (s.length() - k1)]).toString());
    }

    String s1 = String.valueOf(j1);
    int ai1[] = new int[s1.length()];
    for (int l1 = 0; l1 < s1.length(); l1++)
    {
        ai1[-1 + (s1.length() - l1)] = -48 + s1.charAt(l1);
        Debug.i("Chart.AnimUtil", (new StringBuilder()).append("Num : ").append(ai1[-1 + (s1.length() - l1)]).toString());
    }

    ArrayList arraylist = new ArrayList();
    for (int i2 = -1 + ai1.length; i2 >= 0; i2--)
    {
        int k2 = ai1[i2];
        int l2;
        if (ai.length > i2)
        {
            l2 = ai[i2];
        } else
        {
            l2 = 0;
        }
        if (k2 > l2)
        {
            for (int j3 = 0; j3 < 1 + (k2 - l2); j3++)
            {
                arraylist.add(a(s, s1, i2, l2 + j3));
            }

            continue;
        }
        if (k2 < l2)
        {
            for (int i3 = 0; i3 < 1 + (l2 - k2); i3++)
            {
                arraylist.add(a(s, s1, i2, l2 - i3));
            }

        } else
        {
            arraylist.add(a(s, s1, i2, l2));
        }
    }

    Keyframe akeyframe[] = new Keyframe[1 + arraylist.size()];
    Iterator iterator = arraylist.iterator();
    int j2 = 0;
    while (iterator.hasNext()) 
    {
        String s2 = (String)iterator.next();
        j2++;
        akeyframe[j2] = Keyframe.ofObject((1.0F / (float)arraylist.size()) * (float)j2, s2);
    }
    akeyframe[0] = akeyframe[1];
    ValueAnimator valueanimator = ValueAnimator.ofPropertyValuesHolder(new PropertyValuesHolder[] {
        PropertyValuesHolder.ofKeyframe("Text", akeyframe)
    });
    valueanimator.setEvaluator(new i());
    valueanimator.addUpdateListener(new j(textview));
    valueanimator.setDuration(20L);
    return valueanimator;
}