Java Code Examples for android.animation.ValueAnimator#ofObject()
The following examples show how to use
android.animation.ValueAnimator#ofObject() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SearchOrbView.java From adt-leanback-support with Apache License 2.0 | 6 votes |
/** * Enables or disables the orb color animation. * * <p> * Orb color animation is handled automatically when the orb is focused/unfocused, * however, an app may choose to override the current animation state, for example * when an activity is paused. * </p> */ public void enableOrbColorAnimation(boolean enable) { if (mColorAnimator != null) { mColorAnimator.end(); mColorAnimator = null; } if (enable) { // TODO: set interpolator (material if available) mColorAnimator = ValueAnimator.ofObject(mColorEvaluator, mColors.color, mColors.brightColor, mColors.color); mColorAnimator.setRepeatCount(ValueAnimator.INFINITE); mColorAnimator.setDuration(mPulseDurationMs * 2); mColorAnimator.addUpdateListener(mUpdateListener); mColorAnimator.start(); } }
Example 2
Source File: BaseDialog.java From Aria with Apache License 2.0 | 6 votes |
/** * 进场动画 */ private void in() { int height = AndroidUtils.getScreenParams(getContext())[1]; ValueAnimator animator = ValueAnimator.ofObject(new IntEvaluator(), -height / 2, 0); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { mWpm.y = (int) animation.getAnimatedValue(); mWindow.setAttributes(mWpm); } }); animator.setInterpolator(new BounceInterpolator()); //弹跳 Animator alpha = ObjectAnimator.ofFloat(mRootView, "alpha", 0f, 1f); AnimatorSet set = new AnimatorSet(); set.play(animator).with(alpha); set.setDuration(2000).start(); }
Example 3
Source File: NumberAnimTextView.java From Mobike with Apache License 2.0 | 6 votes |
private void start() { if (!isEnableAnim) { // 禁止动画 setText(mPrefixString + format(new BigDecimal(mNumEnd)) + mPostfixString); return; } ValueAnimator animator = ValueAnimator.ofObject(new BigDecimalEvaluator(), new BigDecimal(mNumStart), new BigDecimal(mNumEnd)); animator.setDuration(mDuration); animator.setInterpolator(new AccelerateDecelerateInterpolator()); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { BigDecimal value = (BigDecimal) valueAnimator.getAnimatedValue(); setText(mPrefixString + format(value) + mPostfixString); } }); animator.start(); }
Example 4
Source File: SetNumberActivity.java From weMessage with GNU Affero General Public License v3.0 | 6 votes |
private void invalidateField(final EditText editText){ ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), getResources().getColor(R.color.colorHeader), getResources().getColor(R.color.invalidRed)); colorAnimation.setDuration(200); colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { editText.getBackground().setColorFilter((int) animation.getAnimatedValue(), PorterDuff.Mode.SRC_ATOP); editText.setTextColor((int) animation.getAnimatedValue()); } }); Animation invalidShake = AnimationUtils.loadAnimation(this, R.anim.invalid_shake); invalidShake.setInterpolator(new CycleInterpolator(7F)); colorAnimation.start(); editText.startAnimation(invalidShake); }
Example 5
Source File: PaletteLoader.java From narrate-android with Apache License 2.0 | 6 votes |
private static void applyColorToView(final TextView textView, int color, boolean fromCache) { if (fromCache) { textView.setTextColor(color); } else { Integer colorFrom = textView.getCurrentTextColor(); Integer colorTo = color; ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo); colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { textView.setTextColor((Integer) animator.getAnimatedValue()); } }); colorAnimation.start(); } }
Example 6
Source File: ValueAnimatorActivity.java From coursera-android with MIT License | 6 votes |
private void startAnimation() { final ImageView imageView = findViewById(R.id.image_view); ValueAnimator anim = ValueAnimator.ofObject(new ArgbEvaluator(), RED, BLUE); anim.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { imageView.setBackgroundColor((Integer) animation .getAnimatedValue()); } }); anim.setDuration(10000); anim.start(); }
Example 7
Source File: ElectricFanLoadingRenderer.java From DevUtils with Apache License 2.0 | 6 votes |
private ValueAnimator getBezierValueAnimator(LeafHolder target, RectF leafFlyRect, float progress) { BezierEvaluator evaluator = new BezierEvaluator(getPoint1(leafFlyRect), getPoint2(leafFlyRect)); int leafFlyStartY = (int) (mCurrentProgressBounds.bottom - mLeafDrawable.getIntrinsicHeight()); int leafFlyRange = (int) (mCurrentProgressBounds.height() - mLeafDrawable.getIntrinsicHeight()); int startPointY = leafFlyStartY - mRandom.nextInt(leafFlyRange); int endPointY = leafFlyStartY - mRandom.nextInt(leafFlyRange); ValueAnimator animator = ValueAnimator.ofObject(evaluator, new PointF((int) (leafFlyRect.right - mLeafDrawable.getIntrinsicWidth()), startPointY), new PointF(leafFlyRect.left, endPointY)); animator.addUpdateListener(new BezierListener(target)); animator.setTarget(target); animator.setDuration((long) ((mRandom.nextInt(300) + mDuration * DEFAULT_LEAF_FLY_DURATION_FACTOR) * (1.0f - progress))); return animator; }
Example 8
Source File: SetDefaultSmsActivity.java From weMessage with GNU Affero General Public License v3.0 | 5 votes |
private void startTextColorAnimation(final TextView view, long startDelay, long duration, int startColor, int endColor){ ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), startColor, endColor); colorAnimation.setDuration(duration); colorAnimation.setStartDelay(startDelay); colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { view.setTextColor((int) animation.getAnimatedValue()); } }); colorAnimation.start(); }
Example 9
Source File: CommonTabLayout.java From FlycoTabLayout with MIT License | 5 votes |
public CommonTabLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWillNotDraw(false);//重写onDraw方法,需要调用这个方法来清除flag setClipChildren(false); setClipToPadding(false); this.mContext = context; mTabsContainer = new LinearLayout(context); addView(mTabsContainer); obtainAttributes(context, attrs); //get layout_height String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height"); //create ViewPager if (height.equals(ViewGroup.LayoutParams.MATCH_PARENT + "")) { } else if (height.equals(ViewGroup.LayoutParams.WRAP_CONTENT + "")) { } else { int[] systemAttrs = {android.R.attr.layout_height}; TypedArray a = context.obtainStyledAttributes(attrs, systemAttrs); mHeight = a.getDimensionPixelSize(0, ViewGroup.LayoutParams.WRAP_CONTENT); a.recycle(); } mValueAnimator = ValueAnimator.ofObject(new PointEvaluator(), mLastP, mCurrentP); mValueAnimator.addUpdateListener(this); }
Example 10
Source File: FlatPlayerFragment.java From RetroMusicPlayer with GNU General Public License v3.0 | 5 votes |
private void colorize(int i) { if (valueAnimator != null) valueAnimator.cancel(); valueAnimator = ValueAnimator.ofObject(new ArgbEvaluator(), android.R.color.transparent, i); valueAnimator.addUpdateListener(animation -> { GradientDrawable drawable = new DrawableGradient(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{(int) animation.getAnimatedValue(), android.R.color.transparent}, 0); if (colorBackground != null) { colorBackground.setBackground(drawable); } }); valueAnimator.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME).start(); }
Example 11
Source File: CommonTabLayout.java From imsdk-android with MIT License | 5 votes |
public CommonTabLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWillNotDraw(false);//重写onDraw方法,需要调用这个方法来清除flag setClipChildren(false); setClipToPadding(false); this.mContext = context; mTabsContainer = new LinearLayout(context); addView(mTabsContainer); obtainAttributes(context, attrs); //get layout_height String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height"); //create ViewPager if (height.equals(ViewGroup.LayoutParams.MATCH_PARENT + "")) { } else if (height.equals(ViewGroup.LayoutParams.WRAP_CONTENT + "")) { } else { int[] systemAttrs = {android.R.attr.layout_height}; TypedArray a = context.obtainStyledAttributes(attrs, systemAttrs); mHeight = a.getDimensionPixelSize(0, ViewGroup.LayoutParams.WRAP_CONTENT); a.recycle(); } mValueAnimator = ValueAnimator.ofObject(new PointEvaluator(), mLastP, mCurrentP); mValueAnimator.addUpdateListener(this); }
Example 12
Source File: CommonTabLayout.java From AndroidUiKit with Apache License 2.0 | 5 votes |
public CommonTabLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWillNotDraw(false);//重写onDraw方法,需要调用这个方法来清除flag setClipChildren(false); setClipToPadding(false); this.mContext = context; mTabsContainer = new LinearLayout(context); addView(mTabsContainer); obtainAttributes(context, attrs); //get layout_height String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height"); //create ViewPager if (height.equals(ViewGroup.LayoutParams.MATCH_PARENT + "")) { } else if (height.equals(ViewGroup.LayoutParams.WRAP_CONTENT + "")) { } else { int[] systemAttrs = {android.R.attr.layout_height}; TypedArray a = context.obtainStyledAttributes(attrs, systemAttrs); mHeight = a.getDimensionPixelSize(0, ViewGroup.LayoutParams.WRAP_CONTENT); a.recycle(); } mValueAnimator = ValueAnimator.ofObject(new PointEvaluator(), mLastP, mCurrentP); mValueAnimator.addUpdateListener(this); }
Example 13
Source File: MainActivity.java From Night-Mode-Button with MIT License | 5 votes |
public void animateStatusActionBar(int colorFrom,int colorTo){ ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo); colorAnimation.setDuration(250); // milliseconds colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { getWindow().setStatusBarColor((int) animator.getAnimatedValue()); getSupportActionBar().setBackgroundDrawable(new ColorDrawable((int) animator.getAnimatedValue())); } }); colorAnimation.start(); }
Example 14
Source File: RxSeatMovie.java From RxTools-master with Apache License 2.0 | 5 votes |
private void moveAnimate(Point start, Point end) { ValueAnimator valueAnimator = ValueAnimator.ofObject(new MoveEvaluator(), start, end); valueAnimator.setInterpolator(new DecelerateInterpolator()); MoveAnimation moveAnimation = new MoveAnimation(); valueAnimator.addUpdateListener(moveAnimation); valueAnimator.setDuration(400); valueAnimator.start(); }
Example 15
Source File: FloatLabelEditText.java From AndroidFloatLabel with Apache License 2.0 | 5 votes |
private ValueAnimator getFocusAnimation(int fromColor, int toColor) { ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), fromColor, toColor); colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { mFloatingLabel.setTextColor((Integer) animator.getAnimatedValue()); } }); return colorAnimation; }
Example 16
Source File: PieChart.java From OXChart with Apache License 2.0 | 5 votes |
/**创建动画*/ @Override protected ValueAnimator initAnim() { anim = ValueAnimator.ofObject(new AngleEvaluator(), 0f, 1.0f); anim.setInterpolator(new AccelerateDecelerateInterpolator()); return anim; }
Example 17
Source File: BarChart.java From OXChart with Apache License 2.0 | 5 votes |
/**创建动画*/ @Override protected ValueAnimator initAnim() { if(null!=fenbuData) { ValueAnimator anim = ValueAnimator.ofObject(new AngleEvaluator(), 0f, 1f); anim.setInterpolator(new AccelerateDecelerateInterpolator()); return anim; } return null; }
Example 18
Source File: ChangeColor.java From animation-samples with Apache License 2.0 | 4 votes |
@Override public Animator createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) { // This transition can only be applied to views that are on both starting and ending scenes. if (null == startValues || null == endValues) { return null; } // Store a convenient reference to the target. Both the starting and ending layout have the // same target. final View view = endValues.view; // Store the object containing the background property for both the starting and ending // layouts. Drawable startBackground = (Drawable) startValues.values.get(PROPNAME_BACKGROUND); Drawable endBackground = (Drawable) endValues.values.get(PROPNAME_BACKGROUND); // This transition changes background colors for a target. It doesn't animate any other // background changes. If the property isn't a ColorDrawable, ignore the target. if (startBackground instanceof ColorDrawable && endBackground instanceof ColorDrawable) { ColorDrawable startColor = (ColorDrawable) startBackground; ColorDrawable endColor = (ColorDrawable) endBackground; // If the background color for the target in the starting and ending layouts is // different, create an animation. if (startColor.getColor() != endColor.getColor()) { // Create a new Animator object to apply to the targets as the transitions framework // changes from the starting to the ending layout. Use the class ValueAnimator, // which provides a timing pulse to change property values provided to it. The // animation runs on the UI thread. The Evaluator controls what type of // interpolation is done. In this case, an ArgbEvaluator interpolates between two // #argb values, which are specified as the 2nd and 3rd input arguments. ValueAnimator animator = ValueAnimator.ofObject(new ArgbEvaluator(), startColor.getColor(), endColor.getColor()); // Add an update listener to the Animator object. animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { Object value = animation.getAnimatedValue(); // Each time the ValueAnimator produces a new frame in the animation, change // the background color of the target. Ensure that the value isn't null. if (null != value) { view.setBackgroundColor((Integer) value); } } }); // Return the Animator object to the transitions framework. As the framework changes // between the starting and ending layouts, it applies the animation you've created. return animator; } } // For non-ColorDrawable backgrounds, we just return null, and no animation will take place. return null; }
Example 19
Source File: Utils.java From SegmentedControl with Apache License 2.0 | 4 votes |
public static ValueAnimator createBackgroundAnimation(int argbStart, int argbEnd) { return ValueAnimator.ofObject(ArgbEvaluator.getInstance(), argbStart, argbEnd); }
Example 20
Source File: AstroViewHolder.java From GeometricWeather with GNU Lesser General Public License v3.0 | 4 votes |
@Override public void onEnterScreen() { if (itemAnimationEnabled && weather != null) { ValueAnimator timeDay = ValueAnimator.ofObject(new FloatEvaluator(), startTimes[0], currentTimes[0]); timeDay.addUpdateListener(animation -> { animCurrentTimes[0] = (Float) animation.getAnimatedValue(); sunMoonView.setTime(startTimes, endTimes, animCurrentTimes); }); double totalRotationDay = 360.0 * 7 * (currentTimes[0] - startTimes[0]) / (endTimes[0] - startTimes[0]); ValueAnimator rotateDay = ValueAnimator.ofObject( new FloatEvaluator(), 0, (int) (totalRotationDay - totalRotationDay % 360) ); rotateDay.addUpdateListener(animation -> sunMoonView.setDayIndicatorRotation((Float) animation.getAnimatedValue()) ); attachAnimatorSets[0] = new AnimatorSet(); attachAnimatorSets[0].playTogether(timeDay, rotateDay); attachAnimatorSets[0].setInterpolator(new OvershootInterpolator(1f)); attachAnimatorSets[0].setDuration(getPathAnimatorDuration(0)); attachAnimatorSets[0].start(); ValueAnimator timeNight = ValueAnimator.ofObject(new FloatEvaluator(), startTimes[1], currentTimes[1]); timeNight.addUpdateListener(animation -> { animCurrentTimes[1] = (Float) animation.getAnimatedValue(); sunMoonView.setTime(startTimes, endTimes, animCurrentTimes); }); double totalRotationNight = 360.0 * 4 * (currentTimes[1] - startTimes[1]) / (endTimes[1] - startTimes[1]); ValueAnimator rotateNight = ValueAnimator.ofObject( new FloatEvaluator(), 0, (int) (totalRotationNight - totalRotationNight % 360) ); rotateNight.addUpdateListener(animation -> sunMoonView.setNightIndicatorRotation(-1 * (Float) animation.getAnimatedValue()) ); attachAnimatorSets[1] = new AnimatorSet(); attachAnimatorSets[1].playTogether(timeNight, rotateNight); attachAnimatorSets[1].setInterpolator(new OvershootInterpolator(1f)); attachAnimatorSets[1].setDuration(getPathAnimatorDuration(1)); attachAnimatorSets[1].start(); if (phaseAngle > 0) { ValueAnimator moonAngle = ValueAnimator.ofObject(new FloatEvaluator(), 0, phaseAngle); moonAngle.addUpdateListener(animation -> phaseView.setSurfaceAngle((Float) animation.getAnimatedValue()) ); attachAnimatorSets[2] = new AnimatorSet(); attachAnimatorSets[2].playTogether(moonAngle); attachAnimatorSets[2].setInterpolator(new DecelerateInterpolator()); attachAnimatorSets[2].setDuration(getPhaseAnimatorDuration()); attachAnimatorSets[2].start(); } } }