Tablayout with icons only

后端 未结 12 1379
暗喜
暗喜 2020-12-04 11:32

I am using design support to create tabs. I am also using ViewPager for swipable tabs.

Now, I don\'t know how to use only icons instead of texts in tabs

12条回答
  •  情深已故
    2020-12-04 11:58

    try this

        public class GlobalActivity extends AppCompatActivity {
        Toolbar toolbar;
        ViewPager viewPager;
        TabLayout tabLayout;
        ViewPagerAdapter adapter;
        private int[] tabIcons = {
                R.drawable.home_ic,
                R.drawable.biz_ic,
                R.drawable.network_ic,
                R.drawable.offers_ic,
                R.drawable.message_ic_b
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_global_hub);
            tab();
        }
        public void tab(){
            viewPager = (ViewPager) findViewById(R.id.viewpager);
            setupViewPager(viewPager);
            tabLayout = (TabLayout) findViewById(R.id.tablayout);
            tabLayout.setupWithViewPager(viewPager);
            setupTabIcons();
    
        }
        private void setupTabIcons() {
            tabLayout.getTabAt(0).setIcon(tabIcons[0]);
            tabLayout.getTabAt(1).setIcon(tabIcons[1]);
            tabLayout.getTabAt(2).setIcon(tabIcons[2]);
            tabLayout.getTabAt(3).setIcon(tabIcons[3]);
            tabLayout.getTabAt(4).setIcon(tabIcons[4]);
    
        }
        public void setupViewPager(ViewPager viewPager){
            adapter = new ViewPagerAdapter(getSupportFragmentManager());
            adapter.addFrag(new GlHubFragment(),"HOME");
            adapter.addFrag(new BizForumFragment(), "BIZ FORUM");
            adapter.addFrag(new NetworkFragment(), "NETWORK");
            adapter.addFrag(new MessagesFragment(), "MESSAGEs");
            adapter.addFrag(new OfferFragmentActivity(), "OFFER");
            viewPager.setAdapter(adapter);
        }
    
        public class ViewPagerAdapter extends FragmentPagerAdapter{
            private final List mfragmentlist =new ArrayList<>();
            private final List mFragmentTitleList = new ArrayList<>();
            public ViewPagerAdapter(FragmentManager fm) {
                super(fm);
            }
    
            @Override
            public Fragment getItem(int position) {
                return mfragmentlist.get(position);
            }
    
            @Override
            public int getCount() {
                return mfragmentlist.size();
            }
            public void addFrag(Fragment fragment,String title){
                mfragmentlist.add(fragment);
                mFragmentTitleList.add(title);
            }
            @Override
            public CharSequence getPageTitle(int position){
                return mFragmentTitleList.get(position);
            }
        }
    }
    

提交回复
热议问题