gpt4 book ai didi

android - 导航架构组件 : transition animations not working for dialog

转载 作者:行者123 更新时间:2023-11-29 00:53:16 27 4
gpt4 key购买 nike

我有一个 <dialog在我的带有进入/退出动画的导航图中,但动画不适用于对话框。我在 <fragment 上测试过它们节点和那些工作正常。

为了澄清,被引用的对话框是一个 DialogFragment

这是限制还是我做错了什么?

这是我的导航图中的相关 fragment :

<fragment
android:id="@+id/fragment_home"
android:name="com.my.project.fragments.HomeFragment"
android:label="@string/nav_home"
tools:layout="@layout/fragment_home">
<action
android:id="@+id/action_fragment_home_to_fragment_dialog_new_user_welcome"
app:destination="@id/fragment_dialog_new_user_welcome"
app:enterAnim="@anim/nav_fade_enter_anim"
app:exitAnim="@anim/nav_fade_exit_anim"
app:popUpTo="@layout/fragment_home" />
</fragment>

<dialog
android:id="@+id/fragment_dialog_new_user_welcome"
android:name="com.my.project.fragments.NewUserWelcomeDialog"
tools:layout="@layout/fragment_dialog_new_user_welcome">

<action
android:id="@+id/action_fragment_dialog_new_user_welcome_to_activity_discover_detail"
app:destination="@id/fragment_discover_detail"
app:launchSingleTop="true"
app:popUpTo="@id/fragment_home" />
</dialog>

这是进入动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>

这是退出动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>

最佳答案

从版本 2.2.0-alpha02 开始,这是导航组件的限制。可以查看DialogFragmentNavigator的源码

但是,您可以使用以下步骤轻松实现 DialogFragment 的动画:

  1. anim 文件夹创建一个提及进入和退出动画的样式:
    <style name="MyDialogAnimation">
<item name="android:windowEnterAnimation">@anim/enter_anim</item>
<item name="android:windowExitAnimation">@anim/exit_anim</item>
</style>
  1. 在 DialogFragment 中将样式设置为 windowAnimations
     override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
dialog?.window?.attributes?.windowAnimations = R.style.MyDialogAnimation
}

查找更多 here .

关于android - 导航架构组件 : transition animations not working for dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57462884/

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