グリッドビュー上に浮かぶいくつかのテキストビューを含む相対レイアウトがあります。グリッド内の項目を選択すると、レイアウトが画面のほぼ最後まで移動し、約 1/5 しか表示されません。これは、単純な変換アニメーションを使用して行われます。グリッド内の別のボタンをクリックすると、グリッドビューの上の元の位置に戻るために相対レイアウトが必要になります。Translate Animation でもこれを行いましたが、これは起こりつつありますが、折りたたまれたときに表示されていた RelativeLayout の部分のみが移動 (移動) し、アニメーションが終了した後に他の部分が表示されます。これは本当に醜く見えます。
Android は、画面に表示されていないビューの部分を描画しないことを知っています。完全な部分を強制的に描画する方法はありますか?
私のアニメーションコードは以下のとおりです。
  public void smoothExpanderAnimate(final int finalTarget,final RelativeLayout expander,final int animateToY,final boolean setExpanded,final boolean refreshGrid)
{
    final RelativeLayout.LayoutParams head_params = (RelativeLayout.LayoutParams)expander.getLayoutParams();
    TranslateAnimation anim = new TranslateAnimation(0f, 0f, 0f, animateToY);
    anim.setDuration(400);
    //timeListHeight = list.getHeight();
    //anim.setFillAfter(true);
    anim.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            //Should I try something here ?
        }
        @Override
        public void onAnimationRepeat(Animation animation) {
        }
        @Override
        public void onAnimationEnd(Animation animation) {
            head_params.topMargin = finalTarget;
            expander.clearAnimation();
            expander.setLayoutParams(head_params);
            isExpanded = setExpanded;
            isAnimating = false;
            if(!setExpanded)
            {
                setChildHeight(timeListHeight, list);
            }
        }
    });
    isAnimating = true;
    expander.startAnimation(anim);
}