私が作りたいのは、Activity の多くの星 (現在は 1 つだけで試しています) で、背景と光沢として作成された別の写真で光沢があります。それで、私がそれをどのように計画したかは、スターのすべてのアニメーションを管理するAsyncTask
mainからインスタンス化することです。Activity
アクティビティのレイアウトには、星の写真が 1 つと、星の写真の背後にある光沢の写真がもう 1 つあります。光沢。
私は ObjectAnimator と AnimatorSet で作成していますが、ドキュメントでAlphaAnimation
s.
これまでの私のコードは次のとおりです 。
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 個のスターを計画しています。
適切に管理するにはどうすればよいですか?