ViewPagerIndicator:单独控制选项卡宽度或可见性

时间:2013-08-01 06:20:28

标签: java android viewpagerindicator

我在TabPageIndicator中有4个标签,并希望第3个标签后的标签完全消失,即希望通过按某些其他控件来关注相应的片段,但它们的标签不应以任何方式显示。 我尝试修改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开始编号。

1 个答案:

答案 0 :(得分:0)

对不起,这只是简单的愚蠢 - “第三次之后”没有转化为

   if (index>3) {..}

标签从0开始编号,因此它应该是

   if (index>2) {..}