在Android中,可以通过自定义TabLayout.Tab的布局来实现在选项卡处于选中状态时更改Tab图标。具体步骤如下:
TabLayout tabLayout = findViewById(R.id.tab_layout);
TabLayout.Tab tab = tabLayout.getTabAt(position); // position为选项卡的位置
tab.setCustomView(R.layout.tab_custom);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
// 选中状态
ImageView icon = tab.getCustomView().findViewById(R.id.tab_icon);
icon.setImageResource(R.drawable.selected_icon);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
// 未选中状态
ImageView icon = tab.getCustomView().findViewById(R.id.tab_icon);
icon.setImageResource(R.drawable.unselected_icon);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
// 重新选中状态
}
});
在上述代码中,R.layout.tab_custom是自定义的Tab布局文件,其中R.id.tab_icon是ImageView的id,R.drawable.selected_icon和R.drawable.unselected_icon分别是选中和未选中状态下的图标资源。
这样,当选项卡处于选中状态时,会显示选中状态的图标;当选项卡处于未选中状态时,会显示未选中状态的图标。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云