Aşağıdaki hareketli eylem düğmesi için animasyon ve renk değişimini taklit etmeye çalışıyorum.Animasyonlu Fab on (zoom in/out)
Yüzer eylem düğmesinin çalışma şekli beyazdır ve mavi yanar.
Ancak, animasyon ve rengini değiştirerek ile başarısız olmuştur.
Bunlar, bunu yapmak için denediğim tüm farklı yolları yorumladığımı görebildiğiniz gibi, bunu yapmak için benim girişimlerim olmuştur. herhangi bir öneriniz için
@SuppressWarnings("unused")
@OnClick(R.id.fabMovieFavourite)
public void addMovieFavourite(View view) {
/* final Animator animator = AnimatorInflater.loadAnimator(getActivity(), R.animator.add_favourite_movie);
animator.setTarget(view);)
animator.start();
*/
/*
AnimatorSet animatorSet = new AnimatorSet();
PropertyValuesHolder propertyValuesHolderX = PropertyValuesHolder.ofFloat(View.SCALE_X, 1.1f);
PropertyValuesHolder propertyValuesHolderY = PropertyValuesHolder.ofFloat(View.SCALE_Y, 1.1f);
ObjectAnimator objectAnimator = ObjectAnimator.ofPropertyValuesHolder(view, propertyValuesHolderX, propertyValuesHolderY);
objectAnimator.setDuration(300);
objectAnimator.setInterpolator(new OvershootInterpolator(10f));
*/
/*
objectAnimator.setRepeatCount(1);
objectAnimator.setRepeatMode(ObjectAnimator.REVERSE);
*/
/*
PropertyValuesHolder propertyValuesHolderX2 = PropertyValuesHolder.ofFloat(View.SCALE_X, 0.9f);
PropertyValuesHolder propertyValuesHolderY2 = PropertyValuesHolder.ofFloat(View.SCALE_Y, 0.9f);
ObjectAnimator objectAnimator2 = ObjectAnimator.ofPropertyValuesHolder(view, propertyValuesHolderX2, propertyValuesHolderY2);
objectAnimator.setDuration(300);
objectAnimator2.setInterpolator(new OvershootInterpolator(10f));
animatorSet.playSequentially(objectAnimator, objectAnimator2);
objectAnimator.start();
*/
// view.BackgroundTintList(ContextCompat.getColorStateList(getContext(), R.color.primary));
//view.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.primary));
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
Timber.d("start translationZ");
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, View.TRANSLATION_Z, 12f);
objectAnimator.setDuration(300);
objectAnimator.setInterpolator(new OvershootInterpolator(10f));
objectAnimator.setTarget(view);
objectAnimator.start();
}
}
Çok teşekkürler:
Bu
benim kodudur.
ne çalışacaktı iki fabs kullanmaktır. kaybolur ve diğerini gösterirken birisini gizler. –
@AngelKoh Sadece 1 fab kullanarak bir çözüm arıyorum – ant2009
@ ant2009 iyi bir şey bu uygulamayı uygulamak isterseniz iyi bir kütüphane https://github.com/jd-alexander/LikeButton yardımıyla elde ettim .. .Bu yardımcı olabilir ... – PN10