我有一个工具栏和一个RelativeLayout
容器在我的活动内部定义(不在中间)。如何翻译和缩放视图顶部覆盖工具栏?
我想要定义一个“展开”操作,其中整个RelativeLayout
容器将设置为顶部正好在工具栏上方。
如何正确定义AnimationSet
(带有ScaleAnimation
和TranslateAnimation
)才能成功?
当前状态的一个例子:
*“定制视图”在图中被表示RelativeLayout
容器我如上所述。
我有一个工具栏和一个RelativeLayout
容器在我的活动内部定义(不在中间)。如何翻译和缩放视图顶部覆盖工具栏?
我想要定义一个“展开”操作,其中整个RelativeLayout
容器将设置为顶部正好在工具栏上方。
如何正确定义AnimationSet
(带有ScaleAnimation
和TranslateAnimation
)才能成功?
当前状态的一个例子:
*“定制视图”在图中被表示RelativeLayout
容器我如上所述。
如果你必须使用一个AnimationSet应该最低限度是这个样子:
TranslateAnimation translateAnim = new TranslateAnimation(fromX , toX , fromY , toY);
ScaleAnimation scaleAnim = new ScaleAnimation(fromX , toX , fromY , toY);
AnimationSet animSet = new AnimationSet(true);
animSet.addAnimation(translateAnim);
animSet.addAnimation(scaleAnim);
animSet.setFillAfter(true);
animSet.setDuration(...);
当然你必须填写在fromX,TOX值...等
但你还可以使用ViewPropertyAnimator代替AnimationSet,这是远远更少的代码,真的很容易使用:
relativeLayout.animate()
.translationY(0) // 0 is top of Y axis
.scaleX(...)
.setDuration(...);
这只是把你指向的方向,只需填写带有您需要的值的空白,并检查其他可用方法的文档。
是的。我知道整个行动是如何运作的。但我不知道如何找到正确的'toY'和'toX'坐标.. – Kanellis
工具栏和RelativeLayout的父级是什么?该图中的定制视图是什么? – Srijith
所有Views的父级都是CoordinatorLayout。我编辑了关于自定义视图的问题。 – Kanellis