2013-02-01 8 views
8

私は自分のコードで作成し、私のRelativeLayoutの中に配置するImageView要素を持っています。私は、次のコードを使用し始めるには見えないように、このイメージを設定します。Android Alphaフェードインアニメーションの問題

arrow.setVisibility(View.INVISIBLE); 

私は、XMLを経由して、フェードインアルファアニメーションを定義した:

:アニメーションを実行するには

<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> 

私は単純にアニメーションを開始するには、次の呼び出し

myview.startAnimation(myanimation); 

私は見ています問題は、私の肛門ということですImageViewは完全な可視性でちらつき、アルファ0から1のアニメーションを通過します。これを修正するにはどうすればよいですか?アルファアニメーションはパーセンテージに基づいており、絶対アルファ値ではないため、初期アルファ値を0に設定することはできません。 (例:0 *現在の値から1 *現在の値)

ご協力いただければ幸いです。

+0

問題がが原因であるようにまあ、それは見えます別のビューオブジェクトの別のアニメーションの完了時にアニメーションを実行します。誰でも修正を推奨できますか? –

+0

Androidは同じビューで別のアニメーションをキャンセルします。あなたは、それが妨害アニメーションを持つ*別のビューであると言います。おそらく 'clearAnimation()'で取り消すことができますか? –

+0

私はこの問題がAndroidのバグだと思っています。私はそれが答えなしで他のところで言及しているのを見ました、そして、私がやっているアニメーションは本当に干渉しません。そのちょうど私はアニメーションのこのフェードを開始しているときに、もう一方が終了します。私は幸運とclearAnimationを試みた。私はまだちらつきを得る –

答えて

1

私は、問題のコード行で、だと思う:

ここ
android:fillBefore="true" 

、代わりにこのコードを試してみてください、それは私の作品:

<?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

私は同じ問題を抱えていました。私の場合、 'introAnimation.setFillBefore(true);'問題を解決しました –