9

コードで作成し、RelativeLayout 内に配置する ImageView 要素があります。この画像を非表示に設定して、次のコードを使用して開始します。

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*現在値)

どんな助けでも大歓迎です。

4

2 に答える 2

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" />
于 2014-03-01T15:53:34.250 に答える