我遇到了严重的问题,我几个小时都无法解决。 我有一个主题活动,其中包含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的高度)。