TabLayout作为底部导航的使用问题记录
2023-10-25 本文已影响0人
雨来
我们可能会使用 Jetpack BottomNavigationView 来实现
如果使用TabLayout+ViewPager+Fragment实现主页也一样
这里有一个问题点:TabLayout中的tab我们设置图标:
![](https://img.haomeiwen.com/i6461854/8d0e7c69a457b00d.png)
这里的 communityTab的类型是 TabLayout.Tab 这里我们是动态向 TabLayout里面添加tab communityTab.customView = getView(R.drawable.home_selector_bottom_bar_explore)
这里的 home_selector_bottom_bar_explore是一个selector
![](https://img.haomeiwen.com/i6461854/885774cde65574e4.png)
那么当我们点击底部tab的时候 tab的图片是如何更换的呢?
communityTab.customView = getView(R.drawable.home_selector_bottom_bar_explore)
这里用了选择器 并且用的是android:state_selected 那么肯定有设置这个属性的地址
直接给出答案:是在TabLayout的源码中 在此做一下记录com.google.android.material.tabs.TabLayout.TabView#setSelected
![](https://img.haomeiwen.com/i6461854/6a59ad15323d0199.png)