android - 使用 LayoutTransition 为多个视图设置动画
问题描述
我有两个Buttons
必须设置动画,一个应该向左移动,而另一个应该向右移动。我创建了以下内容AnimationSet
:
final Animator rightAlpha = ObjectAnimator.ofFloat(rightButton, "alpha", 1, 0);
final Animator rightTranslation = ObjectAnimator.ofFloat(rightButton, "translationX", 0, 100);
final Animator leftAlpha = ObjectAnimator.ofFloat(leftButton, "alpha", 1, 0);
final Animator leftTranslation = ObjectAnimator.ofFloat(leftButton, "x", 0, -100);
AnimatorSet disappearing = new AnimatorSet();
disappearing.playTogether(rightAlpha, rightTranslation, leftAlpha, leftTranslation);
如果我手动调用disappearing.start()
动画正常运行,但我需要将动画添加为LayoutTransition
. 这是问题开始的地方,我有以下代码:
LayoutTransition itemLayoutTransition = new LayoutTransition();
itemLayoutTransition.setAnimator(LayoutTransition.DISAPPEARING, disappearing);
parentView.setLayoutTransition(itemLayoutTransition);
当布局改变时动画开始,但问题是两者Buttons
总是朝着同一个方向。我对此进行了一些研究,但找不到任何东西。
编辑:我也做了一些调试,Android 也调用了 的方法start()
,AnimationSet
但我不确定为什么它们的播放方式不同。
解决方案
推荐阅读
- postgresql - 将 TIME 与 DURATION 存储为两种不同的类型
- java - 如何在 javafx 表视图中删除阴影?
- monte-carlo-tree-search - 蒙特卡洛树搜索的选择功能重复找到相同的节点
- node.js - 如何使 docker 容器创建的 node_module 文件夹与本地同步?
- javascript - 如何更改 FormData() 的值以接收文本框的值?
- javascript - 管道文件时如何使javascript正则表达式匹配所有行
- airflow - 如何修复 AIRFLOW 一日滞后问题
- android - 类型参数不在其范围内:应该是 Kotlin Android 的“NavArgs”的子类型
- python - Python exec 脚本定义在 db postgres 中
- java - 试图让用户输入的字符串保存双变量的值