Soru ObjectAnimator tarafından çekilebilir bir şekilde nasıl döndürülebilir?


Böyle çekilebilir bir çalışma Alphaing:

if(mAlphaAnimation == null){
        mAlphaAnimation = ObjectAnimator.ofFloat(this, "alpha", 0.0f,1.0f).setDuration(TARGET_ANIM_ALPHA_DURATION);
        mAlphaAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
        mAlphaAnimation.setStartDelay(TARGET_ANIM_ALPHA_DELAY_BASE*power);
        mAlphaAnimation.setRepeatCount(ValueAnimator.INFINITE);
        mAlphaAnimation.setRepeatMode(ValueAnimator.REVERSE);
        mAlphaAnimation.addUpdateListener(this);
 }

Ama eğer aşağıdakine benzer bir çekiliş yapmak istersem, işe yaramıyor.

private void createRotateAnim(float fromDegress,float toDegress,int duration){
    if(mRotateAnimation == null){
        mRotateAnimation = ObjectAnimator.ofFloat(this, "rotation",fromDegress,toDegress).setDuration(duration);
        mRotateAnimation.setStartDelay(100);
        mRotateAnimation.setInterpolator(new AccelerateInterpolator());
        mRotateAnimation.addUpdateListener(this);
    }
}

Herkes bu sorunu düzeltmemde bana yardımcı olabilir, ya da bunlar döndürülebilir bir animasyon oluşturmak için başka bir yoldur.

Kötü ingilizcem için üzgünüm.


16
2017-12-26 10:28


Menşei


Dokunmatik olay aracılığıyla bir çekilebilir durumu değiştirmek istiyorum, çekilebilir tek çekilebilir, çekilebilir bir liste değil.Örneğin, ekranda hareketli mesafeye göre bir çekilebilir alfa değerini değiştirin. Ve bu işlev bitti. Sonra hareketli açıya göre çizilebilir bir yön değiştirmek istiyorum. Başka bir deyişle, çekilebilir açıya göre döndürün. Bu çekilişler aynı görünümde çizilecektir. Döndürme özelliği ile bir ObjectAnimator nesnesini bilmek istiyorum çekilebilir veya değil döndürün. Belki de, bir resim görünümü, arka plana çizilebilir bir çizim için kullanılabilir bir çizim döndürmek olabilir çünkü, dönebilirsiniz. - marine8888
Olası kopya Android: Bir Görünüm'ün boyutunun Kesirli değerlerini çevirmek için ObjectAnimator'ı kullanma - N J


Cevaplar:


Bir resme uygulanan bu basit Rotasyon Animasyonunu deneyin.

 ImageView imageview = (ImageView)findViewById(R.id.myimage);
 RotateAnimation rotate = new RotateAnimation(180, 360, Animation.RELATIVE_TO_SELF,    
 0.5f,  Animation.RELATIVE_TO_SELF, 0.5f);
  rotate.setDuration(500);
 imageview.startAnimation(rotate);

Bu cevap sadece bir soru sormak içindir, Tıklanabilir alanın farklı olması doğrudur. Viewmevcut pozisyonu. Tıklanabilir alanı doğru yapmak için lütfen bu soruyu kontrol edin. TranslateAnimation'dan sonra düğme tıklanabilir değil


14
2017-12-26 10:59



Teşekkür ederim. ama ben çekmeceyi ImageView gibi başka bir görünüme sokmak istemiyorum, ama bunu bir alt sınıfın üzerine çizmek istiyorum (View ViewGroup). - marine8888
@ marine8888 Yanlış olduğunu düşünüyorum, ImageView sadece bir alt sınıfıdır View ve yok ViewGroup (Kendisinin bir alt sınıfıdır. View). Kendi alt sınıfınızı oluşturabilirsiniz. View ve çekilemez bir tuval üzerine render, ancak bu aynı işi ImageView. - Leon Storey


İle dene ObjectAnimator yerine.

ImageView imageview = (ImageView)findViewById(R.id.image);

ObjectAnimator imageViewObjectAnimator = ObjectAnimator.ofFloat(imageview ,
                    "rotation", 0f, 360f);
            imageViewObjectAnimator.setDuration(1000); // miliseconds
            imageViewObjectAnimator.start();

DÜZENLE Bu soruya biraz dikkat çekmek için neden kullanmam gerektiğini açıklamama izin ver ObjectAnimator diğer Geçiş animatörleri yerine

Kullanma hakkında ObjectAnimator Başka bir animasyon yöntemi kullanırsanız, örneğin Geçiş Animasyonu veya diğer bazı animatörler kullanıyorsanız, öğenin hem görünür hem de tıklanabilir alanını hareket ettirir ve eğer hareket etmek istiyorsanız Button Ekranın sol altından sol üst tarafa, görünür alanı yalnızca hareket ettirecektir, ancak Button kendisi, tıklanabilir alan hala önceki pozisyonda olacak, bu durumda butonu hareket ettirdiğinizde sol üst kısım yerine tıklanabilir alan hala sol altta olacaktır.

Aynısını yaparsanız ObjectAnimator, hem görünen alan hem de tıklanabilir alan istenen konumu hareket ettirecektir.


50
2018-04-06 05:13