可以通过设置addOnTabSelectedListener监听器来捕获标签的添加事件,并使用getTabAt(index)获取新添加标签的位置,然后使用select()方法将标签滚动到正确的位置。
示例代码如下:
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
// Do nothing on tab select
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
// Do nothing on tab unselect
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
// Do nothing on tab reselect
}
@Override
public void onTabAdded(TabLayout.Tab tab) {
int newIndex = tab.getPosition();
tabLayout.getTabAt(newIndex).select();
}
});
在此示例中,我们只是添加了onTabAdded()方法,并在其中获取新标签的位置并将其选中。这确保了标签的滚动位置始终正确,而不是随机移动。