画面描画やアニメーションがちらつく件につきまして
もしかして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();