gpt4 book ai didi

android - 控制共享元素动画中的特定元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:13 29 4
gpt4 key购买 nike

在我的应用程序中,我有一个看起来像这样的共享元素

 <FrameLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_margin="16dp"
android:text="Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/image"
android:src="@drawable/hero_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</FrameLayout>

在我的 Activity 中,我将 image 标记为共享元素,因此图像会过渡到下一个 Activity 。但是,我想在图像转换之前淡出 title。看起来我应该能够通过使用 setSharedElementExitTransition() 并将 title 设置为目标来实现此功能,但无论我尝试什么,该动画似乎都不起作用并且过渡图像绘制在快照 title 上。

我已通读 https://halfthought.wordpress.com/2014/12/08/what-are-all-these-dang-transitions/由 George Mount 撰写,并在 SO 上浏览了他的出色答案,但我只需要更多帮助 :)

最佳答案

假设在标题 View 上调用了 setTransitionName("text"),这是让基础工作正常进行的方法

  1. 在 Activity A 中设置适当的共享元素退出动画:

    getWindow().setSharedElementExitTransition(new TransitionSet().
    addTransition(new Fade().addTarget("text"));
  2. 调用 startActivity() 后,使用 setVisibility(View.INVISIBLE) 更改标题 TextView 的可见性。这是使淡入淡出工作所必需的。

将 View 设置为 INVISIBLE 是我缺少的基本步骤,我还设置了一个窗口exit 动画。但是,我应该使用 Window.setReturnTransition() 设置一个窗口 return 动画。

关于android - 控制共享元素动画中的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27887784/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com