【发布时间】:2020-05-09 01:47:37
【问题描述】:
我正在尝试在两个活动之间创建共享元素转换,在第一个活动上,我们称之为活动 A。我有两个具有相同 ID 的视图。现在你问:但是如何创建一个包含两个具有相同 id 的视图的 Activity? 请允许我解释一下。
我有一个自定义卡片视图,在我的活动 A 中有多个实例,我们称它们为 CV1 和 CV2。 CV1 和 CV2 都有一个 TextView 的标题,并且由于它们是相同的自定义视图,因此两个标题共享相同的 id。
我想要做什么:当用户单击 CV1 时,我想将 CV1 标题设置为 Activity B 标题,当用户单击 CV2 时,我想将 CV2 标题设置为 Activity B 标题,等等……
发生了什么:当我单击 CV2、CV3 或 CV4...时,动画标题始终是 CV1 标题。是的,CV1 是我屏幕上的第一个元素,这很有意义,为什么总是 CV1 标题获得动画。
这就是我让视图动画化的方式:
private Bundle createSharedAnim() {
return ActivityOptionsCompat.makeSceneTransitionAnimation(this,
new Pair<>(findViewById(R.id.tv_filled_custom_card_value), VIEW_NAME_VALUE)).toBundle();
}
R.id.tv_filled_custom_card_value 是 CV 标题 ID。
如何获得正确的标题来制作动画?
【问题讨论】:
标签: java android android-animation android-transitions