FragmentNavigator 共享过渡不起作用
Posted
技术标签:
【中文标题】FragmentNavigator 共享过渡不起作用【英文标题】:FragmentNavigator shared transition doesn't work 【发布时间】:2019-05-17 01:00:48 【问题描述】:我正在使用导航架构组件实现导航,试图在ImageView
上的两个片段之间进行转换,所以我将这个android:transitionName="trans"
添加到我的xml 文件中的ImageView
第一个片段和第二个片段中,并将其添加到我的 Java 代码中
FragmentNavigator.Extras extras = new FragmentNavigator.Extras.Builder()
.addSharedElement(imageView, "trans")
.build();
Navigation.findNavController(v).navigate(R.id.action_mainFragment_to_addFragment,
null,
null,
extras);
也尝试像这样使用Direction
:
MainFragmentDirections.ActionMainFragmentToAddFragment toAddFragment = MainFragmentDirections.actionMainFragmentToAddFragment();
Navigation.findNavController(v).navigate(toAddFragment, extras);
但是没有动画。以上代码来自官方documentation。
【问题讨论】:
我在androidx.navigation:navigation-fragment-ktx:2.1.0
和androidx.navigation:navigation-ui-ktx:2.1.0
发现了同样的问题
【参考方案1】:
尝试添加片段
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
sharedElementEnterTransition = TransitionInflater.from(context).inflateTransition(android.R.transition.move)
【讨论】:
以上是关于FragmentNavigator 共享过渡不起作用的主要内容,如果未能解决你的问题,请参考以下文章
共享元素返回过渡不适用于片段中的 recyclerview 和 cardview
Navigation源码解析及自定义FragmentNavigator详解
使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作
我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法