问题:
在使用TabLayout开发的过程中遇到了一个奇怪的错误,根据网上资料写的一个TabLayout的Demo可以正常关连ViewPager并生成多个TabLayout. 然而在把Demo代码拷贝到一个项目中运行后界面就只显示一个Tab而ViewPager正常。如图1
图1
解决过程:
1.初步猜测可能是框架问题,项目使用了第三方框架运行代码的Activity与Demo不同,所以重新生成了一个新的activity把TabLayout相关的布局和代码转移到新的Activity再次运行。。。结果还是只显示一个,不是框架的问题。
2.转换目标,Demo里面是把TabLayout放在LinearLayout里面的而项目则是把TabLayout放在了ConstantLayout里面了,所以这次验证是否是布局的问题,结果还是不行(心里一万头草泥马奔过...)。
之后有在网上查找相关资料可是都不是我想要的答案,纠结中...
后来就突然想到了是不是可能是Application的Theme的问题然后找到Application的Theme追行删除运行测试,再经过多次折腾后终于见到了期盼已久的正常界面显示。
当当当 见图2
图2
问题代码见图3:
图3
由于偷懒在Theme里面设置了界面方向,导致了TabLayout的显示方向发生了改变,所以TabLayout才一直只显示第一个。个人认为这是google一个比较隐蔽的坑,所以写了这篇文章来记录。写的不好地方欢迎大家来喷^_^