2

我想要一个视图并使用从操作栏开始并向下移动到我的布局的翻译触发动画(在底部说)。

视图不是操作栏的一部分(不是 actionItem)。

我试过的:

1-当我对属于我的布局的一部分的视图进行动画处理时,它看起来像是来自操作栏坐标然后向下滑动但视图是在操作栏下方绘制的(因此它不会产生从操作栏顶部出现的效果)

2.- 我创建了一个新的 LinearLayout 来保存我想要动画的视图并将其添加到 DecorView 以使视图位于操作栏的顶部,但是当我执行动画时,它开始在操作栏上平滑地制作动画,但尽快超出 abc 的范围,它只是直接跳到动画的结尾(x,y),所以它不会产生平移效果)。

3.- 我也可以在 abc 中为 ActionItems 设置动画,但仅在操作栏的约束范围内,所以这不是一个选项。

我所做的工作是使用 setClipChildren(false),所以我可以在任何地方进行翻译。

为了这个问题,一些使用硬编码值的代码:

ObjectAnimator translateY = ObjectAnimator.ofFloat(
                    mPersonalizationProgressBar, 
                    "translationY", 
                    10,400);

ObjectAnimator translateX = ObjectAnimator.ofFloat(
                    mPersonalizationProgressBar, 
                    "translationX", 
                    10,400);

这是使用支持库中的 ActionBarCompat。

  • 任何想法发生了什么以及如何实现这一点将不胜感激!
4

0 回答 0