问题描述:
使用TabLayout加ViewPager做底部导航栏,每个TabItem都使用了自定义的布局。
mTabLayout.getTabAt(i).setCustomView(view);
每个TabItem里Icon的资源样式定义如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@mipmap/tab_p"/>
<item android:state_pressed="true" android:drawable="@mipmap/tab_p" />
<item android:drawable="@mipmap/tab" />
</selector>
当第一次启动Activity,调用如下代码来使得默认的TabItem处于选中状态,但是结果却很尴尬。(只要选中一次别的TabItem之后所有的TabItem的状态都恢复预期。)
mTabLayout.getTabAt(i).select();
解决方法:
由于使用了自定义布局,所以应该操作如下:
mTabLayout.getTabAt(i).getCustomView().setSelected(true);
网友评论