在开发中,如果想让`TabLayout`的每个标签页都有独特的视觉效果,比如用不同图片展示,再搭配选中时的动态变化,该怎么操作呢?🤔 其实方法很简单!
首先,在布局文件中定义`TabLayout`,并通过代码为每个`Tab`绑定独立的图标资源。例如:
```java
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.tab_icon_1));
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.tab_icon_2));
```
接着,使用`TabLayout.OnTabSelectedListener`监听切换事件,动态修改选中和未选中的图片状态。可以这样写:
```java
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tab.setIcon(R.drawable.selected_icon);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.setIcon(R.drawable.default_icon);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {}
});
```
💡 小贴士:记得提前准备好清晰的图片资源哦!用这种定制化设计,不仅能让界面更美观,还能提升用户体验!✨
TabLayout 自定义UI 动态图标