在 Android APP 中,通过 TooltipCompat.setTooltipText
方法可以为各种组件设置工具提示(tooltip)。但是,当我在 TabItem 上使用这个方法时,发现了一个问题:为所有的 TabItem 设置工具提示,当一个 TabItem 被点击后,该 TabItem 将永远(指 Activity 未被关闭时)不会显示工具提示,而其他未被点击的 TabItem 能够正常显示。最开始我以为网上应该有解决方法,但在找遍了 Google 和 Bing 甚至是某度后,我却没发现网上有和我一样的情况。无奈只能自己解决。这里贴上我的代码:
String[] tabTooltipText = {
"分类1",
"分类2",
"分类3"
}
TabLayout tabLayout = findViewByID(R.id.tab_layout);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabReselected(TabLayout.Tab tab) {}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
TooltipCompat.setTooltipText(tab.view, tabTooltipText[tab.getPosition()]);
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
TooltipCompat.setTooltipText(tab.view, tabTooltipText[tab.getPosition()]);
}
});
// Setup tooltip 4 each TabItem
for (int i = 0; i < tabLayout.getTabCount(); i++) {
if (i < tabTooltipText.length)
TooltipCompat.setTooltipText(tabLayout.getTabAt(i).view, tabTooltipText[i]);
}