Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因

最近刚好在做一个安卓app,android studio环境下运行的,在制作过程中(完全是自学的),在做app过程中,需要用到底部导航条(像微信小程序那种),于是在网上搜索并简单浏览使用。

我用的是(基于android P(9.0)版本的BottomNavigationView使用教程(去除动画效果,水波纹效果))

下面是该文章的链接地址,https://www.jianshu.com/p/dd31d7f07b2d。里面还有源代码,挺好的文章,谢谢他让我简单了解了BottomNavigationView。

按着上面文章的步骤进行没出现什么问题,当时我用的安卓虚拟机是7.0和9.0的,运行很顺利,结果和文章的结果一样。但我在我的android 5.0的真机上运行时,就出现了Error inflating class android.support.design.widget.BottomNavigationView

在网上查找了一些相关的原因,有说依赖包不一致原因的 ,比如:

Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因_第1张图片

这个我的项目中依赖包的引用是一致的,很明显不是这个原因。

也有说是问题出在Activity的主题,AndroidManifest.xml里的Activity(加载BottomNavigationView的Activity)的Android:theme的值必须是AppTheme或者它的子类

(BottomNavigationView使用的一个坑)https://blog.csdn.net/x5213130/article/details/80989142

这个我也尝试了,有时候bug来的真是五花八门,出现的原因还真是难确定

下面是我的项目出现bug的原因和解决方法。

我在android studio的编辑器中,自己新建了BottomNavigationView项目(我早该这样的,捂脸。。。),

Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因_第2张图片

 

接着是运行,我是在真机android5.0上运行的,整个过程没问题,

Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因_第3张图片

于是我对比了前面创建的项目,发现主要是原因是 

app:itemIconTint="@drawable/selector_bottom_navigation"
app:itemTextColor="@drawable/selector_bottom_navigation"

Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因_第4张图片

在引用"@drawable/selector_bottom_navigation"这个文件的过程中,drawable其实有两个文件夹,分别是drawable和drawable-24

Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因_第5张图片

而安卓运行时,不同版本的android默认访问不同的文件夹,android5,6应该默认是访问drawable文件夹,由于我之前没有在该文件夹内没有放selector_bottom_navigation.xml,我是放在drawable-24内的,于是就出现了上述的bug。

这里需要注意的是,若要兼容高低版本的android,注意文件的放置位置。

以上所引用的链接和文字若有相似,禁止我发出的,请联系下我,我改下蛤,谢谢啦

好啦,我的原因解决了,希望这篇文章能帮到你,祝你好运啦

你可能感兴趣的:(Error inflating class android.support.design.widget.BottomNavigationView 安卓兼容性原因)