我在一个RelativeLayout中有一个视图,它作为一个Activity的标题栏。
当我滚动下面的列表时,我希望标题栏以一种似乎被滚动(或移动)出屏幕的方式隐藏。这很简单明了。我尝试了两种选择,但它们都不适合我:
animateLayoutChanges=true
,并在需要时删除标题栏。我得到的效果是淡出标题上的文字,条形消失了。这不是我想要的,因为我不想要文本的淡出。使用下面的代码,但我得到的是标题移出后出现的灰色空白。这很难看。
Animator disappearingAnimation = ObjectAnimator.ofFloat(null, "translationY", 0, -(titleLin.getHeight()));
LayoutTransition transition = new LayoutTransition();
transition.setAnimator(LayoutTransition.DISAPPEARING, disappearingAnimation);
transition.setDuration(LayoutTransition.DISAPPEARING, 600);
titleParent = (ViewGroup) titleLin.getParent();
titleParent.setLayoutTransition(transition);
titleLin.setVisibility(View.GONE);
这个简单的动画效果有什么解决方案吗?
答案 0 :(得分:0)
我找到了答案,事实上它在官方参考中有解释: https://developer.android.com/reference/android/animation/LayoutTransition.html
问题是由布局转换的默认行为引起的:首先动画删除视图,然后为其余部分填充动画。
所以只需将延迟时间设置为零,动画就可以解决它。