我正在尝试创建一个屏幕,在某些操作中,需要将布局从底部滑动到高度以匹配它的长度,并使用翻译动画类型的幻灯片。
看一下屏幕示例:
正如您可以看到初始屏幕布局一样,新视图5从底部滑入,用动画向上推动整个布局。
我试过这个:https://stackoverflow.com/a/19766034/1085742
使用上述链接,新视图可通过动画显示,但屏幕未向下滑动以显示新视图5.
知道怎么做!! 提前致谢。
答案 0 :(得分:0)
我也对此进行了测试。显然,带有translateY
或Y
的动画不会更改布局范围。换句话说,其他视图不会向上移动。既不使用Animation
也不使用Animator
。
一种解决方案是,如果动画视图处于支持边距的布局中,则为边距设置动画。在科特林:
val collapse = ValueAnimator.ofInt(0, -someLayoutAndViews1.height)
collapse.addUpdateListener {
val params = someLayoutAndViews1.layoutParams as ViewGroup.MarginLayoutParams
params.topMargin = it.animatedValue as Int
someLayoutAndViews1.layoutParams = params
}
collapse.start()