List of usage examples for android.animation ArgbEvaluator ArgbEvaluator
ArgbEvaluator
From source file:cs.umass.edu.prepare.view.activities.CalendarActivity.java
private void transition() { int transitionColor = ContextCompat.getColor(this, R.color.color_transition_details_swipe); ValueAnimator colorAnim = ObjectAnimator.ofInt(detailsView, "backgroundColor", transitionColor, Color.TRANSPARENT);// w w w .j av a 2s.c om colorAnim.setDuration(250); colorAnim.setEvaluator(new ArgbEvaluator()); colorAnim.setRepeatCount(0); colorAnim.setRepeatMode(ValueAnimator.REVERSE); colorAnim.start(); }
From source file:com.rks.musicx.ui.fragments.PlayingViews.Playing4Fragment.java
@Override protected void playingView() { if (getMusicXService() != null) { String title = getMusicXService().getsongTitle(); String artist = getMusicXService().getsongArtistName(); songTitle.setText(title);//from ww w. j a va 2 s . co m songTitle.setSelected(true); songTitle.setEllipsize(TextUtils.TruncateAt.MARQUEE); songArtist.setText(artist); Helper.rotationAnim(albumArtwork); Helper.rotationAnim(playpausebutton); int dur = getMusicXService().getDuration(); seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { if (b && getMusicXService() != null && (getMusicXService().isPlaying() || getMusicXService().isPaused())) { getMusicXService().seekto(seekBar.getProgress()); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); if (dur != -1) { seekbar.setMax(dur); totalDur.setText(Helper.durationCalculator(dur)); } updateQueuePos(getMusicXService().returnpos()); LyricsHelper.LoadLyrics(getContext(), title, artist, getMusicXService().getsongAlbumName(), getMusicXService().getsongData(), lrcview); bitmap = new bitmap() { @Override public void bitmapwork(Bitmap bitmap) { albumArtwork.setImageBitmap(bitmap); ArtworkUtils.blurPreferances(getContext(), bitmap, blurArtwork); ArtworkUtils.blurPreferances(getContext(), bitmap, blurQArtwork); } @Override public void bitmapfailed(Bitmap bitmap) { albumArtwork.setImageBitmap(bitmap); ArtworkUtils.blurPreferances(getContext(), bitmap, blurArtwork); ArtworkUtils.blurPreferances(getContext(), bitmap, blurQArtwork); } }; palette = new palette() { @Override public void palettework(Palette palette) { final int[] colors = Helper.getAvailableColor(getContext(), palette); if (Extras.getInstance().artworkColor()) { colorMode(colors[0]); } else { colorMode(accentColor); } ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), ((ColorDrawable) controlsBg.getBackground()).getColor(), colors[0]); colorAnimation.setDuration(250); // milliseconds colorAnimation.addUpdateListener( animator -> controlsBg.setBackgroundColor((int) animator.getAnimatedValue())); colorAnimation.start(); } }; if (mVisualizer != null) { if (vizualview != null) { vizualview.setEnabled(true); } mVisualizer.setEnabled(true); } } }
From source file:com.taobao.weex.ui.animation.WXAnimationModule.java
private static @Nullable ObjectAnimator createAnimator(@NonNull WXAnimationBean animation, final View target, final int viewPortWidth) { if (target == null) { return null; }/*from ww w .j a va2 s .co m*/ WXAnimationBean.Style style = animation.styles; if (style != null) { ObjectAnimator animator; List<PropertyValuesHolder> holders = style.getHolders(); if (!TextUtils.isEmpty(style.backgroundColor)) { BorderDrawable borderDrawable; if ((borderDrawable = WXViewUtils.getBorderDrawable(target)) != null) { holders.add(PropertyValuesHolder.ofObject(WXAnimationBean.Style.BACKGROUND_COLOR, new ArgbEvaluator(), borderDrawable.getColor(), WXResourceUtils.getColor(style.backgroundColor))); } else if (target.getBackground() instanceof ColorDrawable) { holders.add(PropertyValuesHolder.ofObject(WXAnimationBean.Style.BACKGROUND_COLOR, new ArgbEvaluator(), ((ColorDrawable) target.getBackground()).getColor(), WXResourceUtils.getColor(style.backgroundColor))); } } if (style.getPivot() != null) { Pair<Float, Float> pair = style.getPivot(); target.setPivotX(pair.first); target.setPivotY(pair.second); } animator = ObjectAnimator.ofPropertyValuesHolder(target, holders.toArray(new PropertyValuesHolder[holders.size()])); animator.setStartDelay(animation.delay); if (target.getLayoutParams() != null && (!TextUtils.isEmpty(style.width) || !TextUtils.isEmpty(style.height))) { DimensionUpdateListener listener = new DimensionUpdateListener(target); ViewGroup.LayoutParams layoutParams = target.getLayoutParams(); if (!TextUtils.isEmpty(style.width)) { listener.setWidth(layoutParams.width, (int) WXViewUtils.getRealPxByWidth(WXUtils.getFloat(style.width), viewPortWidth)); } if (!TextUtils.isEmpty(style.height)) { listener.setHeight(layoutParams.height, (int) WXViewUtils.getRealPxByWidth(WXUtils.getFloat(style.height), viewPortWidth)); } animator.addUpdateListener(listener); } return animator; } else { return null; } }
From source file:com.hippo.android.animator.AnimatorsBase.java
static Animator recolorBackground(View view, int startColor, int endColor) { if (startColor != endColor) { Drawable drawable = view.getBackground(); if (drawable instanceof ColorDrawable) { ObjectAnimator animator = ObjectAnimator.ofInt((ColorDrawable) drawable, COLOR_DRAWABLE_COLOR_PROPERTY, startColor, endColor); animator.setEvaluator(new ArgbEvaluator()); return animator; }//ww w. j ava2 s .c o m } return null; }
From source file:org.sufficientlysecure.keychain.ui.BackupCodeFragment.java
private static void animateFlashText(final TextView[] textViews, int color1, int color2, boolean staySecondColor) { ValueAnimator anim = ValueAnimator.ofObject(new ArgbEvaluator(), color1, color2); anim.addUpdateListener(new AnimatorUpdateListener() { @Override/*from w ww . j av a2 s . co m*/ public void onAnimationUpdate(ValueAnimator animator) { for (TextView textView : textViews) { textView.setTextColor((Integer) animator.getAnimatedValue()); } } }); anim.setRepeatMode(ValueAnimator.REVERSE); anim.setRepeatCount(staySecondColor ? 4 : 5); anim.setDuration(180); anim.setInterpolator(new AccelerateInterpolator()); anim.start(); }
From source file:com.taobao.weex.dom.transition.WXTransition.java
/** * transform, opacity, backgroundcolor which not effect layout use android system animation in main thread. * *//* www .j a v a 2 s .c o m*/ private void doPendingTransformAnimation(int token) { if (transformAnimator != null) { transformAnimator.cancel(); transformAnimator = null; } if (transformPendingUpdates.size() == 0) { return; } final View taregtView = getTargetView(); if (taregtView == null) { return; } List<PropertyValuesHolder> holders = new ArrayList<>(8); String transform = WXUtils.getString(transformPendingUpdates.remove(Constants.Name.TRANSFORM), null); if (!TextUtils.isEmpty(transform)) { Map<Property<View, Float>, Float> properties = TransformParser.parseTransForm(transform, (int) domObject.getLayoutWidth(), (int) domObject.getLayoutHeight(), domObject.getViewPortWidth()); PropertyValuesHolder[] transformHolders = TransformParser.toHolders(properties); for (PropertyValuesHolder holder : transformHolders) { holders.add(holder); } synchronized (targetStyles) { targetStyles.put(Constants.Name.TRANSFORM, transform); } } for (String property : properties) { if (!TRANSFORM_PROPERTIES.contains(property)) { continue; } if (!transformPendingUpdates.containsKey(property)) { continue; } Object value = transformPendingUpdates.remove(property); synchronized (targetStyles) { targetStyles.put(property, value); } switch (property) { case Constants.Name.OPACITY: { holders.add(PropertyValuesHolder.ofFloat(View.ALPHA, taregtView.getAlpha(), WXUtils.getFloat(value, 1.0f))); taregtView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); //hardware or none has bug on some platform } break; case Constants.Name.BACKGROUND_COLOR: { int fromColor = WXResourceUtils .getColor(WXUtils.getString(domObject.getStyles().getBackgroundColor(), null), 0); int toColor = WXResourceUtils.getColor(WXUtils.getString(value, null), 0); if (WXViewUtils.getBorderDrawable(taregtView) != null) { fromColor = WXViewUtils.getBorderDrawable(taregtView).getColor(); } else if (taregtView.getBackground() instanceof ColorDrawable) { fromColor = ((ColorDrawable) taregtView.getBackground()).getColor(); } holders.add(PropertyValuesHolder.ofObject(new BackgroundColorProperty(), new ArgbEvaluator(), fromColor, toColor)); } break; default: break; } } if (token == lockToken.get()) { transformPendingUpdates.clear(); } transformAnimator = ObjectAnimator.ofPropertyValuesHolder(taregtView, holders.toArray(new PropertyValuesHolder[holders.size()])); transformAnimator.setDuration((long) duration); if ((long) delay > 0) { transformAnimator.setStartDelay((long) delay); } if (interpolator != null) { transformAnimator.setInterpolator(interpolator); } transformAnimator.addListener(new AnimatorListenerAdapter() { boolean hasCancel = false; @Override public void onAnimationCancel(Animator animation) { super.onAnimationCancel(animation); hasCancel = true; } @Override public void onAnimationEnd(Animator animation) { if (hasCancel) { return; } super.onAnimationEnd(animation); WXTransition.this.onTransitionAnimationEnd(); if (WXEnvironment.isApkDebugable()) { WXLogUtils.d("WXTransition transform onTransitionAnimationEnd " + domObject.getRef()); } } }); transformAnimator.start(); }
From source file:com.hamzahrmalik.calculator2.Calculator.java
private void onResult(final String result) { // Calculate the values needed to perform the scale and translation // animations, // accounting for how the scale will affect the final position of the // text./*from ww w . j a v a 2s .c o m*/ final float resultScale = mFormulaEditText.getVariableTextSize(result) / mResultEditText.getTextSize(); final float resultTranslationX = (1.0f - resultScale) * (mResultEditText.getWidth() / 2.0f - mResultEditText.getPaddingEnd()); final float resultTranslationY = (1.0f - resultScale) * (mResultEditText.getHeight() / 2.0f - mResultEditText.getPaddingBottom()) + (mFormulaEditText.getBottom() - mResultEditText.getBottom()) + (mResultEditText.getPaddingBottom() - mFormulaEditText.getPaddingBottom()); final float formulaTranslationY = -mFormulaEditText.getBottom(); // Use a value animator to fade to the final text color over the course // of the animation. final int resultTextColor = mResultEditText.getCurrentTextColor(); final int formulaTextColor = mFormulaEditText.getCurrentTextColor(); final ValueAnimator textColorAnimator = ValueAnimator.ofObject(new ArgbEvaluator(), resultTextColor, formulaTextColor); textColorAnimator.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { /* * mResultEditText.setTextColor((int) valueAnimator * .getAnimatedValue()); */ } }); final AnimatorSet animatorSet = new AnimatorSet(); animatorSet.playTogether(textColorAnimator, ObjectAnimator.ofFloat(mResultEditText, View.SCALE_X, resultScale), ObjectAnimator.ofFloat(mResultEditText, View.SCALE_Y, resultScale), ObjectAnimator.ofFloat(mResultEditText, View.TRANSLATION_X, resultTranslationX), ObjectAnimator.ofFloat(mResultEditText, View.TRANSLATION_Y, resultTranslationY), ObjectAnimator.ofFloat(mFormulaEditText, View.TRANSLATION_Y, formulaTranslationY)); animatorSet.setDuration(getResources().getInteger(android.R.integer.config_longAnimTime)); animatorSet.setInterpolator(new AccelerateDecelerateInterpolator()); animatorSet.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { mResultEditText.setText(result); } @Override public void onAnimationEnd(Animator animation) { // Reset all of the values modified during the animation. mResultEditText.setTextColor(resultTextColor); mResultEditText.setScaleX(1.0f); mResultEditText.setScaleY(1.0f); mResultEditText.setTranslationX(0.0f); mResultEditText.setTranslationY(0.0f); mFormulaEditText.setTranslationY(0.0f); // Finally update the formula to use the current result. mFormulaEditText.setText(result); setState(CalculatorState.RESULT); mCurrentAnimator = null; } }); mCurrentAnimator = animatorSet; animatorSet.start(); }
From source file:com.betterAlarm.deskclock.DeskClock.java
private void setBackgroundColor() { final int duration; if (mLastHourColor == UNKNOWN_COLOR_ID) { mLastHourColor = getResources().getColor(R.color.default_background); duration = BACKGROUND_COLOR_INITIAL_ANIMATION_DURATION_MILLIS; } else {/*from w w w . j av a 2 s . c o m*/ duration = getResources().getInteger(android.R.integer.config_longAnimTime); } final int currHourColor = Utils.getCurrentHourColor(); if (mLastHourColor != currHourColor) { final ObjectAnimator animator = ObjectAnimator.ofInt(getWindow().getDecorView(), "backgroundColor", mLastHourColor, currHourColor); animator.setDuration(duration); animator.setEvaluator(new ArgbEvaluator()); animator.start(); mLastHourColor = currHourColor; } }
From source file:com.hippo.android.animator.AnimatorsBase.java
static Animator recolorText(TextView view, int startColor, int endColor) { if (startColor != endColor) { ObjectAnimator animator = ObjectAnimator.ofInt(view, TEXT_VIEW_COLOR_PROPERTY, startColor, endColor); animator.setEvaluator(new ArgbEvaluator()); return animator; }/*from w w w . j ava 2 s . c om*/ return null; }
From source file:cw.kop.autobackground.sources.SourceListFragment.java
@Override public void onClick(final View v) { switch (v.getId()) { case R.id.set_button: setWallpaper();/*from ww w . j av a 2s . c o m*/ break; case R.id.floating_button_icon: final GradientDrawable circleDrawable = (GradientDrawable) getResources() .getDrawable(R.drawable.floating_button_circle); final float scale = (float) ((Math.hypot(addButtonBackground.getX(), addButtonBackground.getY()) + addButtonBackground.getWidth()) / addButtonBackground.getWidth() * 2); Animation animation = new Animation() { private boolean needsFragment = true; private float pivot; @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); pivot = resolveSize(RELATIVE_TO_SELF, 0.5f, width, parentWidth); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { if (needsFragment && interpolatedTime >= 1) { needsFragment = false; showSourceAddFragment(); } else { float scaleFactor = 1.0f + ((scale - 1.0f) * interpolatedTime); t.getMatrix().setScale(scaleFactor, scaleFactor, pivot, pivot); } } @Override public boolean willChangeBounds() { return true; } }; animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { circleDrawable.setColor(getResources().getColor(R.color.ACCENT_OPAQUE)); addButtonBackground.setImageDrawable(circleDrawable); } @Override public void onAnimationEnd(Animation animation) { handler.postDelayed(new Runnable() { @Override public void run() { if (needsButtonReset) { addButton.setOnClickListener(SourceListFragment.this); addButtonBackground.setScaleX(1.0f); addButtonBackground.setScaleY(1.0f); addButtonBackground.clearAnimation(); circleDrawable.setColor(getResources().getColor(R.color.ACCENT_OPAQUE)); addButtonBackground.setImageDrawable(circleDrawable); addButton.setVisibility(View.VISIBLE); } } }, 100); } @Override public void onAnimationRepeat(Animation animation) { } }); ValueAnimator buttonColorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), getResources().getColor(R.color.ACCENT_OPAQUE), getResources().getColor(AppSettings.getBackgroundColorResource())); buttonColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { circleDrawable.setColor((Integer) animation.getAnimatedValue()); addButtonBackground.setImageDrawable(circleDrawable); } }); DecelerateInterpolator decelerateInterpolator = new DecelerateInterpolator(); animation.setDuration(ADD_ANIMATION_TIME); buttonColorAnimation.setDuration((long) (ADD_ANIMATION_TIME * 0.9)); buttonColorAnimation.setInterpolator(decelerateInterpolator); animation.setInterpolator(decelerateInterpolator); // Post a delayed Runnable to ensure reset even if animation is interrupted handler.postDelayed(new Runnable() { @Override public void run() { if (needsButtonReset) { addButtonBackground.setScaleX(1.0f); addButtonBackground.setScaleY(1.0f); addButtonBackground.clearAnimation(); circleDrawable.setColor(getResources().getColor(R.color.ACCENT_OPAQUE)); addButtonBackground.setImageDrawable(circleDrawable); addButton.setVisibility(View.VISIBLE); needsButtonReset = false; } } }, (long) (ADD_ANIMATION_TIME * 1.1f)); needsButtonReset = true; addButton.setVisibility(View.GONE); buttonColorAnimation.start(); addButtonBackground.startAnimation(animation); break; default: } }