【问题标题】:Android how to hide tab from TabLayoutAndroid如何从TabLayout隐藏标签
【发布时间】:2019-03-11 17:06:33
【问题描述】:

我需要隐藏第一个标签。第一页应该可以工作,但是当用户选择它时,它应该看起来像是在选项卡上被选中。我该怎么做?

我用 TabHost 找到了一些解决方案,但对我来说毫无用处。

public class TabFragmentClients extends Fragment {

public static TabLayout tabLayout;
public static ViewPager viewPager;
public static int int_items = 5 ;
FinanceClients FinanceClients;

public ClientsFragment clientsFragment;
public FinanceFragment financeFragment;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    /**
     *Inflate tab_layout and setup Views.
     */
    final View x =  inflater.inflate(R.layout.tab_layout_clients,null);
    tabLayout = (TabLayout) x.findViewById(R.id.tabs);
    viewPager = (ViewPager) x.findViewById(R.id.viewpager);

    /**
     *Set an Apater for the View Pager
     */
    viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));

    /**
     * Now , this is a workaround ,
     * The setupWithViewPager dose't works without the runnable .
     * Maybe a Support Library Bug .
     */
    tabLayout.post(new Runnable() {
        @Override
        public void run() {
            tabLayout.setupWithViewPager(viewPager);
        }
    });
    return x;

}

【问题讨论】:

  • 您能详细解释一下您的问题吗?
  • 实际上有 5 个标签。我需要其中 4 个可见和 1 个隐藏。第一个标签应该在屏幕外。
  • 检查this 解决方案。它使用了tabHost,可能你用错了!

标签: android android-tablayout


【解决方案1】:
tabLayout = (TabLayout) findViewById(R.id.tabs);

((ViewGroup) tabLayout.getChildAt(0)).getChildAt(desiredPosition).setVisibility(View.GONE);//hides the tab

【讨论】:

    【解决方案2】:

    你试过了吗?

     tabLayout.setupWithViewPager(viewPager);
     tabLayout.removeTabAt(0);
    

    【讨论】:

    • 此代码用于删除而不是隐藏。但如果您删除了选项卡,则可以简单地再次添加此代码“ mTab​​Layout.addTab(mTabLayout.newTab().setText(title)); "
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2016-11-11
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多