无法解析导航组件的默认动画

时间:2018-12-15 22:44:17

标签: android android-navigation android-jetpack android-architecture-navigation

我正在尝试在导航图中使用默认的导航动画。但是默认的动画(例如nav_default_pop_exit_animnav_default_pop_enter_anim)给我:

无法解析符号'@ anim / nav_default_pop_enter_anim'。验证Android XML文件中的资源引用。

在我的navigation_graph.xml中:

<fragment
    android:id="@+id/MyFragment"
    android:name="com.my.app.mobile.MyFragment"
    android:label="MyFragment" >
    <action
        android:id="@+id/action_MyFragment_to_YourFragment"
        app:destination="@+id/YourFragment"
        app:enterAnim="@anim/slide_left_enter"
        app:exitAnim="@anim/nav_default_pop_exit_anim"
        app:popEnterAnim="@anim/nav_default_pop_enter_anim"
        app:popExitAnim="@anim/slide_right_exit"
        app:popUpTo="@+id/MyFragment" />
</fragment>

我正在使用Android Studio 3.3 RC 2,并且我的gradle具有:

implementation "android.arch.navigation:navigation-fragment-ktx:$navVersion"
implementation "android.arch.navigation:navigation-ui-ktx:$navVersion"
androidTestImplementation "android.arch.navigation:navigation-testing:$navVersion"

其中navVersion = "1.0.0-alpha08"

奇怪的是,导航设计视图可以访问这些默认动画。但是,当我切换到“导航文本”视图时,那些相同的默认动画会显示红色并带有警告。还有其他人遇到过这个问题吗?如何获得这些默认动画?

我尝试清理,重建,同步Gradle,使之无效并重新启动。

1 个答案:

答案 0 :(得分:0)

当我发布here时,应在gradle中添加以下行:

def nav_version = "1.0.0-rc02"
implementation "android.arch.navigation:navigation-fragment:$nav_version"
implementation "android.arch.navigation:navigation-ui:$nav_version"

您使用过implementation "android.arch.navigation:navigation-fragment-ktx:$navVersion",但我不知道ktx到底是什么,请尝试将其删除。