我正在使用导航库进行导航和制作动画。当我进行转换时,我的代码就像这样;
private val onClicked = object :MyAdapter.OnItemClickListener{
override fun onClicked(id: Int) {
val fragment = FragmentB()
val bundle = Bundle()
bundle.putInt("id",id)
fragment.arguments = bundle
findNavController().navigate(R.id.action_fragmenta_to_fragmentb, bundle)
}
<fragment
android:id="@+id/fragmenta"
android:name="com.ahmetkaan.example.rw"
android:label="fragment_a"
tools:layout="@layout/fragmenta" >
<action
android:id="@+id/action_fragmenta_to_fragmentb"
app:destination="@id/fragmentb"
app:enterAnim="@anim/fade_in"
app:exitAnim="@anim/fade_out"/>
</fragment>
我想做一个过渡,例如,片段 B 将从选定的 Recyler View 项目中开始增长,并在几毫秒内它将填满屏幕,因此这将是我的过渡。看起来很简单,但我使用网格布局,因此每个项目在屏幕上都有不同的位置,我不想从特定的位置开始动画,我想从项目的中间开始动画。所以它会根据物品及其位置而变化。我做了一些研究并了解到我无法使用此导航的动画组件。我遇到了过渡文件和共享元素过渡,但不知何故我无法运行我编写的代码。我不知道它们是正确的方法,但我想我无法以结构化的方式对其进行编码。这是我想要的动画的一个视觉示例;
如您所见,我触摸了左侧和顶部的一个元素,动画从该项目的确切位置开始。它的大小增加了,因此发生了转变。我怎样才能以结构性的方式做到这一点?预先感谢。
尝试在 Google 上搜索图书馆。因为我不在电脑前,所以这次我建议您每次启动电脑时都查找库,然后我将为您提供库。