1

私はandroid.R.anim.fade_in(fade_out)で利用可能なfade_inとfade_outアニメーションを使用しています。基本的にはアニメーションの長さを変更できますが、アニメーションが 0.5 秒または 2 秒であってもスムーズではありません。フェードイン/フェードアウトのアニメーションをスムーズにする方法はありますか? どうもありがとう!

コード:

imageSwitcher = (ImageSwitcher) findViewById(R.id.imageswitcher);

    slide_in_left = AnimationUtils.loadAnimation(this, R.anim.fade);
    slide_out_right = AnimationUtils.loadAnimation(this, R.anim.fade_out);

    imageSwitcher.setInAnimation(slide_in_left);
    imageSwitcher.setOutAnimation(slide_out_right);

*XML フェードアウト:*

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:duration="1500"
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:interpolator="@android:anim/accelerate_interpolator" />
</set>
4

2 に答える 2

3

アニメーションを改善するためにできることがいくつかあります。まず、アプリケーション属性を追加して、Android Manfiest でハードウェア アクセラレーションを有効にします。

android:hardwareAccelerated="true"

次に、いくつかの異なる *interpolator* を試してください。@android:anim/linearよりスムーズになる場合があります。

最後に、これが機能しない場合は、プロパティ アニメーションを使用してプログラムでいつでも実行できます (古い API バージョンにはNineOldAndroidを使用できます)。

于 2014-02-06T22:33:50.813 に答える