在值动画制作动画后调整帧布局大小

时间:2015-04-30 22:45:50

标签: android-layout animation android-fragments

我遇到了严重的问题,我几个小时都无法解决。 我有一个主题活动,其中包含relativeLayout标题和下面的frameLayout片段。 [RelativeLayout的] [的FrameLayout

]。 我需要在键盘出现时隐藏相对布局,并在隐藏动画时显示它。 我以这种方式解决了这个问题:

ValueAnimator animator = ValueAnimator.ofFloat(1.0f, 0.0f);
  animator.setDuration(250);
  animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
   @Override
   public void onAnimationUpdate(ValueAnimator valueAnimator) {
    int offset = (int) (mHeaderLayout.getHeight());
    float value = (Float) valueAnimator.getAnimatedValue();
    LinearLayout.LayoutParams headerParams = (LinearLayout.LayoutParams) mHeaderLayout
  .getLayoutParams();
    LinearLayout.LayoutParams fragmentParams = (LinearLayout.LayoutParams) mFragmentLayout
  .getLayoutParams();
headerParams.setMargins(0, (int) (-1 * value * offset), 0,
  (int) (value * offset));
    fragmentParams.setMargins(0, (int) (-1 * value * offset), 0,
  (int) (value * offset));
    mHeaderLayout.setLayoutParams(headerParams);
    mFragmentLayout.setLayoutParams(fragmentParams);
   }
  });

animator.start();

但我遇到了问题,当键盘出现时,由于移动布局,我需要填充额外的空间(RelativeLayout的高度)。

0 个答案:

没有答案