How to hide one indicator from Tab Host without hiding fragment

99 views Asked by At

I am developing an application that uses tab-host. I want to use 5 fragments but only want to show 4 on tab-host.

I want to show tab host like this

What I want

But When I am using 5 tabs it is showing like this.

What I am getting

This is my viewPager code :

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new Friends(),getResources().getString(R.string.friends));
    adapter.addFragment(new Messages(),getResources().getString(R.string.messages));
    adapter.addFragment(new History(),getResources().getString(R.string.history));
    adapter.addFragment(new Discover(),getResources().getString(R.string.discover));
    adapter.addFragment(new Connect(),"");
    viewPager.setAdapter(adapter);
}

And for showing image and text on tabhost indicator i am using :

private int[] navIcons = {
        R.drawable.ic_person,
        R.drawable.ic_message,
        R.drawable.ic_history,
        R.drawable.ic_discover
};
private int[] navLabels = {
        R.string.friends,
        R.string.messages,
        R.string.history,
        R.string.discover
};

And implementing them :

    for (int i = 0; i < 4; i++) {
        LinearLayout tab = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.nav_tab, null);

        TextView tab_label = (TextView) tab.findViewById(R.id.nav_label);
        ImageView tab_icon = (ImageView) tab.findViewById(R.id.nav_icon);
        tab_label.setText(getResources().getString(navLabels[i]));
        tabLayout.getTabAt(i).setCustomView(tab);
    }
0

There are 0 answers