我在NestedScrollView中有一个ImageView,当我向上滚动并且在屏幕上看不到ImageView时,正在使用以下方法将其与动画一起隐藏。
public static void collapse(final View v) {
final int initialHeight = v.getMeasuredHeight();
Animation a = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if (interpolatedTime == 1) {
v.setVisibility(View.GONE);
} else {
v.getLayoutParams().height = initialHeight - (int) (initialHeight * interpolatedTime);
v.requestLayout();
}
}
@Override
public boolean willChangeBounds() {
return true;
}
};
// 1dp/ms
a.setDuration((int) (initialHeight / v.getContext().getResources().getDisplayMetrics().density) * 4);
v.startAnimation(a);
}
但是一旦动画开始,它就会滚动回到ImageView,然后将其隐藏。 我不希望ImageView在动画时具有焦点。我使用动画的原因是,当我将ImageView的可见性设置为GONE时,屏幕上会出现闪烁或闪烁。