読者です 読者をやめる 読者になる 読者になる

画面描画やアニメーションがちらつく件につきまして

Android

もしかしてLayoutに対してstartAnimation()を使っていないでしょうか?Layoutをアニメーションさせる場合はstartLayoutAnimation()を利用しましょう。

このコードは意図した通りに動きません。

TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 50);
anim.setDuration(300);
layout.startAnimation(anim);

このようにstartLayoutAnimation()を使いましょう。

TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 50);
anim.setDuration(300);

LayoutAnimationController lac = new LayoutAnimationController(anim);
layout.setLayoutAnimation(lac);

layout.startLayoutAnimation();

また、Handler.post()でstartLayoutAnimation()をコールした時に何故かアニメーションが実行されないことがありますが、その場合は以下のようにinvalidate()すると動作するようです。

layout.startLayoutAnimation();
layout.invalidate();