問題:
在使用TabLayout開發的過程中遇到了一個奇怪的錯誤,根據網上資料寫的一個TabLayout的Demo可以正常關連ViewPager并生成多個TabLayout. 然而在把Demo代碼拷貝到一個項目中運作後界面就隻顯示一個Tab而ViewPager正常。如圖1
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPRp1bOdUZwR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM0UTNyQzMwITNyYDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
圖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一個比較隐蔽的坑,是以寫了這篇文章來記錄。寫的不好地方歡迎大家來噴^_^