我在 TabPageIndicator 中有 4 个选项卡,并且希望第三个选项卡之后的选项卡完全消失,即希望通过按下其他一些控件来关注相应的片段,但它们的选项卡不应该以任何方式可见。我尝试addTab
如下修改,但似乎没有帮助:
private void addTab(int index, CharSequence text, int iconResId) {
final TabView tabView = new TabView(getContext());
tabView.mIndex = index;
tabView.setFocusable(true);
tabView.setOnClickListener(mTabClickListener);
tabView.setText(text);
if (iconResId != 0) {
tabView.setCompoundDrawablesWithIntrinsicBounds(0, iconResId, 0, 0);
}
if (index>3)
{
tabView.setVisibility(View.GONE);
mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0,
0, 0));
} else
mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0,
MATCH_PARENT, 1));
}
更新: 发现这个愚蠢的错误:
if (index>3)
应该
if (index>2)
因为选项卡从 0 开始编号,而不是从 1 开始。