我有两个动作
<action
android:id="@+id/actionBaseFragmentToAskForLocation"
app:destination="@+id/introAskForLocationFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_right" />
<action
android:id="@+id/actionIntroAskLocationToLogin"
app:destination="@id/loginFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_right"
app:popExitAnim="@anim/fade_out"
app:popUpTo="@+id/app_main_navigation" />
但是我想知道如何使片段在退出时执行slide_out_left动画,并将其弹出堆栈。
最后,我在调用navigate
的片段中重写了oncreateanimation
。下面的示例显示了如何通过ID在嵌套的导航图中导航,以及如何条件性地替换pop退出动画(或popexitanim
)。
override fun onCreateAnimation(transit: Int, enter: Boolean, nextAnim: Int): Animation? {
val navController = findNavController()
val graph = navController.graph.findNode(R.id.onboardingGraph) as NavGraph
val dest = graph.findNode(R.id.confirmationFragment)
if (!enter && dest != null && navController.currentDestination?.id == dest.id) {
return AnimationUtils.loadAnimation(requireContext(), R.anim.slide_out_left)
}
return super.onCreateAnimation(transit, enter, nextAnim)
}
请注意,这种特殊情况部分是由于幻灯片动画的方向性。
导航过渡是一个应用中状态之间的切换,例如从一个高层级的页面切换到一个具体的页面。最主要,但不是全部,过渡在本质上是层级。 这些转变应该合适地展示用户浏览一个应用的每个状态。 父元素到子元素 兄弟元素到兄弟元素 父元素到子元素 查看一个应用的更深的层级或者页面,是从父页面开始的。在父页面上会有很多的子页面可供用户浏览,这些都是父页面的子页面。 在 material design 中,高度变化意味着从
我正在一个新的Android应用程序上使用导航组件,但我不知道怎么做 首先,我有我的主活动,我有main_navigation_graph 主要活动 NavHostFragment main_navigation_graph里面有3个碎片 这里一切都很好。问题是当我到达最后一个片段时,因为在这个片段上,我想根据BottomNavigationView输入(暂时)显示一些子片段(在新的NavHost
我正在使用Android导航组件,尽管在刚开始的时候有一些问题,但它现在运行良好。 我坚持一个活动,许多片段设计原则,我使用共享视图模型在片段之间进行通信。 我现在在我的应用程序中有一个场景,用户创建一些东西,保存它,并返回到主列表片段(想想像添加一个新联系人,除了它涉及的不仅仅是在一些框中输入) 当用户保存信息时,我需要从视图模型中清除数据(这是由于安全问题而不是性能),因为它们是共享视图模型,
我正在使用NavController:。一切都很好,直到我旋转我的设备,然后我无法和。 在日志中:FragmentNavigator:忽略popBackStack()调用:FragmentManager已保存其状态,而FragmentNavigator:忽略导航()调用:FragmentManager已保存其状态 当我看到谷歌的样本,他们没有任何关于这个问题,有所有的工作良好。所以我不明白这就是问
实际上,我正在我的应用程序中使用新的架构组件,并且我已经设置了导航组件。我有一个导航抽屉,我想用它。我已经设置好了,但我面临一些问题: 1-抽屉不会自动关闭。菜单正常工作并导航到正确的位置,但导航后不会关闭。我必须添加一个目的地ChangedListener才能自己关闭它。 在代码实验室里,抽屉自动关闭,我真的不明白为什么。 2-向上按钮打开抽屉。当我导航到非顶级片段时,菜单图标变为向上箭头,但当
我正在将我的应用程序转换为使用一个活动并添加了BottomNavigationView,并努力防止在片段之间导航时重新创建片段,进行不必要的api调用。但是我无法使它工作: 不显示片段 图标未切换 触摸底部菜单项不会切换片段 触摸所选项目会使应用崩溃,并带有 TypeCastException: 活动的布局: 底部导航菜单: 在主活动中: 导航扩展: 屏幕为空白,未呈现任何片段视图。 有人能帮我解