1

私が作りたいのは、Activity の多くの星 (現在は 1 つだけで試しています) で、背景と光沢として作成された別の写真で光沢があります。それで、私がそれをどのように計画したかは、スターのすべてのアニメーションを管理するAsyncTaskmainからインスタンス化することです。Activityアクティビティのレイアウトには、星の写真が 1 つと、星の写真の背後にある光沢の写真がもう 1 つあります。光沢。

私は ObjectAnimator と AnimatorSet で作成していますが、ドキュメントでAlphaAnimations.

これまでの私のコードは次のとおりです

public class LogoActivity extends Activity{


private AsyncLogoAnimation asyncLogoAnimation;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.proba_logo_activity);


    asyncLogoAnimation = new AsyncLogoAnimation(this);
    asyncLogoAnimation.execute("");
}

AsyncTaskのコード:

public class AsyncLogoAnimation extends AsyncTask<String, String, String>  {

private ObjectAnimator animator_FADEOUT;
private ObjectAnimator animator_FADEIN;
private AnimatorSet aSet;

// instanca od loga
private LogoActivity instance;

public AsyncLogoAnimation(LogoActivity instance){
    this.instance = instance;

    ImageView Gloss = (ImageView) instance.findViewById(R.id.gloss);
    animator_FADEOUT = ObjectAnimator.ofFloat(Gloss, "alpha", 0f);
    animator_FADEOUT.setDuration(1000);

    animator_FADEIN = ObjectAnimator.ofFloat(Gloss, "alpha",  0f, 1f);
    animator_FADEIN.setDuration(1000);


    aSet = new AnimatorSet();
    aSet.playSequentially(animator_FADEOUT, animator_FADEIN);


}


@Override
protected String doInBackground(String... params) {

    aSet.start();
}

これを機能させようとした後、「アニメーターはルーパースレッドでのみ実行される可能性があります」というエラー例外が発生しました。これがパフォーマンスに最適かどうかさえわからないため、これ以上進むのをやめました。継続的にアニメーション化される 10 個のスターを計画しています。

適切に管理するにはどうすればよいですか?

4

0 に答える 0