2013-02-01 24 views
8

Kodumda oluşturduğum ve RelativeLayout'umun içine yerleştirdiğim bir ImageView öğesine sahibim. Aşağıdaki kodu kullanarak ile başlamak Görünmez olmak için bu görüntüyü ayarlayın:Android Animasyon Yayında Alfa Fade

:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false" 
android:fillEnabled="true" 
android:fillAfter="true" 
android:fillBefore="true"> 

<alpha 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:startOffset="100" 
    android:duration="300" /> 

/set> 

animasyon çalıştırmak için:

arrow.setVisibility(View.INVISIBLE); 

Sonra XML yoluyla bir Alpha Fade-In animasyon tanımlı

Ben sadece animasyonu başlatmak için aşağıdaki çağrı

myview.startAnimation(myanimation); 

görüyorum sorunu benim ani olmasıdır Mation, ImageView'ın tam görünürlükte titremesine ve ardından alfa 0 - 1'in animasyonuna neden olur. Bunu nasıl düzeltebilirim? İlk alfa değerini 0 olarak ayarlayamıyorum çünkü alfa animasyonu yüzde mutlak değere ve mutlak alfa değerine dayanmıyor. (örn .: 0 * geçerli değer 1 * akım değeri)

Herhangi bir yardım büyük memnuniyetle karşılanacaktır.

+0

konu nedeniyle gibi Eh görünüyor farklı bir görüntüleme nesnesi için başka bir animasyonun tamamlanması üzerine animasyonu çalıştırır. Birisi bir düzeltme önerebilir mi? –

+0

Android, aynı görünümde başka bir animasyonun iptal edilmesine özen gösterecektir. Bunun, enterferansı canlandıran bir * farklı * görünümü olduğunu söylüyorsunuz. Belki de clearAnimation() 'ile iptal edebilirsiniz? –

+0

Bu sorunun sadece bir Android hatası olduğunu düşünmeye başladım. Ben başka bir yerde bir cevap olmadan bahsettim ve yaptığım animasyon gerçekten müdahale etmiyor. Ben sadece başlıyorum bu diğeri bittiğinde animasyonda kayboluyor. Şanssız bir açıklık denedim. Hala biraz daha kod yazabilir miyim –

cevap

1

Sorun bu kod satırı ile, olduğunu düşünüyorum: Burada

android:fillBefore="true" 

, bu kodu deneyin bunun yerine, benim için çalışıyor:

<?xml version="1.0" encoding="UTF-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="2000" 
    android:fillAfter="true" 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" /> 
+0

Aynı sorunu yaşıyordum. Benim durumumda "introAnimation.setFillBefore (true);" sorunu çözdü –