在AndroidX中,'AppBarLayout$ScrollingViewBehavior'有什么替代品?

25

我最近将我的项目迁移到了AndroidX。现在当我打开应用程序的特定页面并遇到以下代码时,应用程序会崩溃。

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="fill_vertical"
    android:clipToPadding="false"
    app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
    >

Logcat中的错误:

android.view.InflateException: Binary XML file line #119: Could not inflate Behavior subclass android.support.design.widget.AppBarLayout$ScrollingViewBehavior
    Caused by: java.lang.RuntimeException: Could not inflate Behavior subclass android.support.design.widget.AppBarLayout$ScrollingViewBehavior

我想我必须使用AndroidX中的替代行为来替换它。但是那个替代代码是什么?我在https://developer.android.com/jetpack/androidx/migrate中搜索了,但没有找到AppBarLayout。

提前致谢。

2个回答

49

我找到了解决方案。 layout_behavior这一行必须替换成这个:

app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"

确保在 build.gradle 文件中存在 'material' 依赖项:

implementation 'com.google.android.material:material:1.2.1'

1
谢谢 @Henry 医生 :) - Damiii
1
太棒了,谢谢。这帮助我完成了迁移到AndroidX的工作。 - tm1701

1
在我的情况下,我使用了这个:

app:layout_behavior="@string/appbar_scrolling_view_behavior"

还要确保添加此依赖项:

implementation 'com.google.android.material:material:1.0.0'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接