首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迁移到AndroidX后,膨胀类android.support.design.widget.AppBarLayout时出错

迁移到AndroidX后,膨胀类android.support.design.widget.AppBarLayout时出错
EN

Stack Overflow用户
提问于 2019-02-05 11:42:59
回答 5查看 62.1K关注 0票数 34

在使用Android Studio将我的项目迁移到AndroidX (并手动修复了许多导入错误)后,我没有收到任何编译错误,但当应用程序启动时,我得到一个崩溃:

Error inflating class android.support.design.widget.AppBarLayout

布局文件中有问题的行是:<android.support.design.widget.AppBarLayout

我在build.gradle中的依赖项是:

代码语言:javascript
复制
dependencies {
    def lifecycle_version = '2.1.0-alpha02'
    // used below--will be different for androidx (migrated 2019-02-04)
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'

    implementation 'com.google.android.material:material:1.1.0-alpha03'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.2-alpha01'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01'
    implementation 'com.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.squareup.okio:okio:1.15.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.5'
    implementation 'com.jakewharton.rxrelay2:rxrelay:2.1.0'
    // Relay class
    implementation 'com.jakewharton.rx2:replaying-share:2.1.0'
    // ReplayingShare
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
    // RxBinding
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"  // see def above
    // includes ViewModel and LiveData
    implementation 'org.apache.commons:commons-lang3:3.8.1'
    // for tuples like Triple
    implementation 'com.androidplot:androidplot-core:1.5.6'
    // AndroidPlot
}

我猜我遗漏了什么,但我找不到它是什么。

EN

回答 5

Stack Overflow用户

发布于 2019-02-05 11:54:32

您需要使用com.google.android.material.appbar.AppBarLayout

implementation 'androidx.appcompat:appcompat:1.0.0'版本1.0.0已经发布,所以你可以使用它了

添加依赖项implementation 'com.google.android.material:material:1.0.0'

有关最新发布版本的信息,请参阅Material Component integration。并使用

代码语言:javascript
复制
<com.google.android.material.appbar.AppBarLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content">

</com.google.android.material.appbar.AppBarLayout>

有关其他工件和类映射的信息,请参阅AndroidX migration Doc

票数 71
EN

Stack Overflow用户

发布于 2019-02-05 14:30:40

请通过这个旧的到新的

例如,使用com.google.android.material.appbar.AppBarLayout而不是android.support.design.widget.AppBarLayout

对于AppBarLayout

对于工具栏

票数 34
EN

Stack Overflow用户

发布于 2019-06-29 21:04:05

Androidx充气类<android.support.design.widget.TabLayout/>不会工作,它不存在,所以用<com.google.android.material.tabs.TabLayout/>替换它,它会工作得很好,别忘了添加

代码语言:javascript
复制
implementation 'com.google.android.material:material:1.1.0-alpha07'

到您的依赖项

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54527441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档