我有时需要显示选项卡内容,否则该区域必须填充“非选项卡主机”数据。但是,选项卡应该是可见的,并且当用户单击这些选项卡中的任何一个时,必须隐藏“非选项卡主机”并且必须隐藏适当的选项卡内容变得可见。
它与虚假标签创建有关吗?
给出一个在未选择选项卡的情况下创建 TabHost 的示例。谢谢。
我有时需要显示选项卡内容,否则该区域必须填充“非选项卡主机”数据。但是,选项卡应该是可见的,并且当用户单击这些选项卡中的任何一个时,必须隐藏“非选项卡主机”并且必须隐藏适当的选项卡内容变得可见。
它与虚假标签创建有关吗?
给出一个在未选择选项卡的情况下创建 TabHost 的示例。谢谢。
我通常做的是,添加一个额外的Tab
并使用setVisibility(View.GONE)
来隐藏它。这只会对用户隐藏选项卡按钮,并且Tab
仍然会在“背景”中存在,您可以使用tabHost.setCurrentTab(0)
. 我通常也将此选项卡保留为第一个选项卡。
1.复制你想要标签取消选中的代码
tabLayout.setSelectedTabIndicatorColor(Color.WHITE);
tabLayout.setTabTextColors(Color.BLACK, Color.BLACK);
2.覆盖Tabselected监听器并粘贴以下代码
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override`enter code here
public void onTabSelected(TabLayout.Tab tab) {
tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#EB1C23"));
tabLayout.setTabTextColors(Color.BLACK, Color.RED);
viewPager.setCurrentItem(position);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#EB1C23"));
tabLayout.setTabTextColors(Color.BLACK, Color.RED);
viewPager.setCurrentItem(position);
}
});