迁移到 AndroidX 后 AppBarLayout 膨胀错误
AppBarLayout inflating error after migrating to AndroidX
迁移到 AndroidX
时我遇到了这个问题:
Java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.mandarine.android/com.mandarine.android.features.root.RootActivity}:
android.view.InflateException: Binary XML file line #18: Binary XML file line #18:
Error inflating class android.support.design.widget.AppBarLayout
除非您实施旧的支持库并启用 Jetifier,否则您必须重命名 XML 中的所有支持 XML。
android.support.design.widget.AppBarLayout
现在是 com.google.android.material.appbar.AppBarLayout
。
为此,您可能需要在 build.gradle 中使用 implementation 'com.google.android.material:material:1.0.0-beta01'
。
使用支持库查找 XML 中的任何其他视图,并重命名标签以匹配其 AndroidX 版本。您只需在 Google 中搜索 "ClassName AndroidX" 即可找到 class 的文档。
我使用了 AS 3.2 迁移到 AndroidX 向导。但它未能迁移一些 类。以下是我在项目中遇到的一些。第二项是正确的
android.support.design.widget.BottomSheetDialog
com.google.android.material.bottomsheet.BottomSheetDialog
android.support.design.widget.TextInputLayout
com.google.android.material.textfield.TextInputLayout
android.support.design.widget.CoordinatorLayout
androidx.coordinatorlayout.widget.CoordinatorLayout
android.support.design.widget.NavigationView
com.google.android.material.navigation.NavigationView
androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager
android.support.design.widget.BottomSheetBehavior
com.google.android.material.bottomsheet.BottomSheetBehavior
android.support.v7.widget.Toolbar
androidx.appcompat.widget.Toolbar
android.support.design.internal.BottomNavigationItemView
com.google.android.material.bottomnavigation.BottomNavigationItemView
android.support.design.internal.BottomNavigationMenuView
com.google.android.material.bottomnavigation.BottomNavigationMenuView
androidx.appcompat.widget.CardView
androidx.cardview.widget.CardView
android.support.design.widget.BottomNavigationView
com.google.android.material.bottomnavigation.BottomNavigationView
androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager
importandroidx.core.widget.DrawerLayout
androidx.drawerlayout.widget.DrawerLayout
androidx.appcompat.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView
androidx.core.view.PagerAdapter
androidx.viewpager.widget.PagerAdapter
importandroidx.core.app.FragmentManager
importandroidx.fragment.app.FragmentManager
迁移到 AndroidX
时我遇到了这个问题:
Java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.mandarine.android/com.mandarine.android.features.root.RootActivity}:
android.view.InflateException: Binary XML file line #18: Binary XML file line #18:
Error inflating class android.support.design.widget.AppBarLayout
除非您实施旧的支持库并启用 Jetifier,否则您必须重命名 XML 中的所有支持 XML。
android.support.design.widget.AppBarLayout
现在是 com.google.android.material.appbar.AppBarLayout
。
为此,您可能需要在 build.gradle 中使用 implementation 'com.google.android.material:material:1.0.0-beta01'
。
使用支持库查找 XML 中的任何其他视图,并重命名标签以匹配其 AndroidX 版本。您只需在 Google 中搜索 "ClassName AndroidX" 即可找到 class 的文档。
我使用了 AS 3.2 迁移到 AndroidX 向导。但它未能迁移一些 类。以下是我在项目中遇到的一些。第二项是正确的
android.support.design.widget.BottomSheetDialog
com.google.android.material.bottomsheet.BottomSheetDialog
android.support.design.widget.TextInputLayout
com.google.android.material.textfield.TextInputLayout
android.support.design.widget.CoordinatorLayout
androidx.coordinatorlayout.widget.CoordinatorLayout
android.support.design.widget.NavigationView
com.google.android.material.navigation.NavigationView
androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager
android.support.design.widget.BottomSheetBehavior
com.google.android.material.bottomsheet.BottomSheetBehavior
android.support.v7.widget.Toolbar
androidx.appcompat.widget.Toolbar
android.support.design.internal.BottomNavigationItemView
com.google.android.material.bottomnavigation.BottomNavigationItemView
android.support.design.internal.BottomNavigationMenuView
com.google.android.material.bottomnavigation.BottomNavigationMenuView
androidx.appcompat.widget.CardView
androidx.cardview.widget.CardView
android.support.design.widget.BottomNavigationView
com.google.android.material.bottomnavigation.BottomNavigationView
androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager
importandroidx.core.widget.DrawerLayout
androidx.drawerlayout.widget.DrawerLayout
androidx.appcompat.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView
androidx.core.view.PagerAdapter
androidx.viewpager.widget.PagerAdapter
importandroidx.core.app.FragmentManager
importandroidx.fragment.app.FragmentManager