Android如何隐藏TabLayout中的选项卡

10

我需要隐藏第一个选项卡。首个页面应该可以正常工作,但当用户选择它时,应该看起来像没有选中任何选项卡。我该如何做到这一点?

我找到了一些使用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;

}

你能详细解释一下你的问题吗? - Neo
1
实际上有5个选项卡。我需要其中4个可见,1个隐藏。第一个选项卡应该像屏幕外一样。 - Tolyas
请查看这个解决方案。它使用了tabHost,也许您使用不正确! - Caique Matos
2个回答

6
tabLayout = (TabLayout) findViewById(R.id.tabs);

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

4

你尝试过这个吗?

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

这段代码是用于删除而不是隐藏。但如果您删除了选项卡,那么您可以简单地使用以下代码再次添加:"mTabLayout.addTab(mTabLayout.newTab().setText(title));" - Dorbagna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接