1

クス:

アニメーションを作成し、ビュー位置を同時に変更するための可能な解決策は何ですか: 鳥が飛んでいますか?

Animation の arrow_anim.xml ファイル:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true">
    <item android:drawable="@drawable/arrow" android:duration="1000" />
    <item android:drawable="@drawable/arrow1" android:duration="1000" />
    <item android:drawable="@drawable/arrow2" android:duration="1000" />
    <item android:drawable="@drawable/arrow3" android:duration="1000" />
</animation-list>

アニメーションのコード スニペット:

imageView.setBackgroundResource(R.drawable.arrow_anim);
AnimationDrawable anim = (AnimationDrawable) imageView.getBackground();
anim.start();

これは立っているアニメーションのようなもので、アニメーションとその位置も変更する必要があります。

この鳥の機能を達成するのにどのクラスが役立ちましたか。

私がしようとしているコードの編集1

imageView.setBackgroundResource(R.drawable.movie);
AnimationDrawable anim = (AnimationDrawable) imageView.getBackground();
anim.start();


TranslateAnimation trans = new TranslateAnimation(0, 0,
                    TranslateAnimation.ABSOLUTE, 250, 0, 0,
                    TranslateAnimation.ABSOLUTE, 250);
trans.setDuration(0);


AnimationSet animationSet=new AnimationSet(true);
animationSet.addAnimation(trans);
imageView.startAnimation(animationSet);

しかし、これは同時に機能しません。何かが不足している場合は、修正するように提案してください。

4

2 に答える 2

0

これはあなたにアイデアを与えるかもしれません..

private void runAnimation(View view){

        ValueAnimator vAnimator = ObjectAnimator.ofFloat(view, "alpha", 1,0f);
        vAnimator.setDuration(1000);
        vAnimator.setRepeatMode(ValueAnimator.REVERSE);
        vAnimator.setRepeatCount(ValueAnimator.INFINITE);

        ValueAnimator vAnimator2 = ObjectAnimator.ofFloat(view, "translationX", 100f);
        vAnimator2.setDuration(1000);
        vAnimator2.setRepeatMode(ValueAnimator.REVERSE);
        vAnimator2.setRepeatCount(ValueAnimator.INFINITE);

        AnimatorSet set = new AnimatorSet();
        set.playTogether(vAnimator,vAnimator2);
        set.setStartDelay(0);

        set.start();

    }
于 2013-09-20T10:12:43.093 に答える
0

あなたが何を望んでいるのかがわかったので、あなただけでstart()アニメーションAnimationDrawableを翻訳し始めることができますimageView

View.startAnimation(Animation);
于 2013-09-20T11:00:58.687 に答える