Android 两个视图上的TranslationAnimation未同步
我正在尝试“幻灯片”动画两个视图,一个在另一个上(y exiss) 这就是我正在做的:Android 两个视图上的TranslationAnimation未同步,android,animation,translate-animation,Android,Animation,Translate Animation,我正在尝试“幻灯片”动画两个视图,一个在另一个上(y exiss) 这就是我正在做的: TranslateAnimation precentageTranslateAnim = new TranslateAnimation(0, 0, shareBtnsHeight, 0); precentageTranslateAnim.setDuration(TRANSLATE_ANIMATION_DURATION); DecelerateInterpolator interpulator = new De
TranslateAnimation precentageTranslateAnim = new TranslateAnimation(0, 0, shareBtnsHeight, 0);
precentageTranslateAnim.setDuration(TRANSLATE_ANIMATION_DURATION);
DecelerateInterpolator interpulator = new DecelerateInterpolator();
precentageTranslateAnim.setInterpolator(interpulator);
precentageLayout.setVisibility(View.VISIBLE);
precentageLayout.startAnimation(precentageTranslateAnim);
reactionsBtnsLayout.startAnimation(precentageTranslateAnim);
我的问题是,当动画发生时,您可以看到视图没有完全一起移动
在动画期间,它们之间有一条小线
有没有一种方法可以在它们之间进行同步?因为你在不同的时刻启动动画,所以你需要并行运行它们,因为幸运的安卓有能力使用不同的动画,并可以选择并行运行它们。执行以下操作
ObjectAnimator animator1 = ObjectAnimator.ofFloat(precentageLayout, "y", shareBtnsHeight,0);
ObjectAnimator animator2 = ObjectAnimator.ofFloat(reactionsBtnsLayout, "y", shareBtnsHeight,0);
animator1.setDuration(TRANSLATE_ANIMATION_DURATION);
animator1.setDuration(TRANSLATE_ANIMATION_DURATION);
DecelerateInterpolator interpulator = new DecelerateInterpolator();
animator1.setInterpolator(interpulator);
animator2.setInterpolator(interpulator);
AnimatorSet set = new AnimatorSet();
set.playTogether(animator1,animator2);
set.start();
动画不是设置为在一个视图中有多个动画吗?在我的例子中,我有一种动画,我想在两个视图上设置。。。我理解错了吗?不是这样的,动画集可以同时保存多个视图的动画,只需将不同的动画添加到一个集中并一起播放。但我只有一个动画。两个视图使用相同的动画。precentageLayout.startAnimation(precentageTranslateAnim);反应BTNSLayout.startAnimation(反应BTNSTranslateAnim);这是你的两个动画,对吧,只是把前一个动画,反应,然后把它放到一个场景中播放。这是我的错,是同一个动画。我编辑了这个问题。听起来你在尝试这样的事情:如果它对你有帮助,请向上投票