TextView のスケールとフェードアウトを作成しようとしています。私の TextView は、アクティビティのレイアウトに含まれるレイアウト ファイル内にあります。
<include android:id="@+id/hud" layout="@layout/hud" android:layout_alignParentBottom="true"/>
これで、次のように Java コード内からスケール アニメーションを適用できます。
TextView multiplier = (TextView)findViewById(R.id.hudMultiplier);
ScaleAnimation s = new ScaleAnimation(1.0f, 3.0f, 1.0f,3.0f);
s.setDuration(5000);
multiplier.startAnimation(s);
それはうまく機能しますが、xml ファイルからそのアニメーション (およびその他のアニメーション) が必要です。だから私はこのファイルを作りました:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://shemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:pivotX="50%"
android:pivotY="100%"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="10.0"
android:toYScale="10.0"
android:duration="5000"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.1"
android:duration="2000"
android:startOffset="2000">
</alpha>
</set>
このコードでアニメーションを適用しようとしています:
TextView multiplier = (TextView)findViewById(R.id.hudMultiplier);
AnimationSet an = (AnimationSet) AnimationUtils.loadAnimation(getApplicationContext(), R.anim.multiplier);
multiplier.startAnimation(an);
ここで何が起こるかというと、TextView がほんの一瞬点滅し、実際には何も起こりません。
私はもう試した:
- アルファ アニメーションの削除 - 変更なし
- 開始オフセットの削除 - 変更なし
- アンドロイドのドキュメントからアニメーションを変更します - 変更はありません
- AnimationSet を Animation に変更 - 変更なし
- getApplicationContext() を this、MyActivity.this に変更 - 変更なし
- getApplicationContext() を null に変更 - アプリケーションを強制終了します
私は何が欠けていますか?
このプロジェクトは Android 1.6 を対象としており、2.3 エミュレーターでテストしています。