Skip to content

Instantly share code, notes, and snippets.

@faizsiddiqui
Last active August 23, 2024 10:17

Revisions

  1. faizsiddiqui revised this gist Jul 23, 2015. No changes.
  2. faizsiddiqui created this gist Jul 17, 2015.
    69 changes: 69 additions & 0 deletions SimpleTabLayout.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,69 @@
    package com.example.simpletablayout;

    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.design.widget.TabLayout;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v7.app.AppCompatActivity;

    import java.util.ArrayList;
    import java.util.List;

    import fragments.base.Home;
    import fragments.base.Profile;
    import fragments.base.Setting;

    public class SimpleTabLayout extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tablayout);

    ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);

    //Add tabs icon with setIcon() or simple text with .setText()
    tabLayout.addTab(tabLayout.newTab().setIcon(R.mipmap.ic_home));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.mipmap.ic_profile));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.mipmap.ic_settings));

    //Add fragments
    PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new Home());
    adapter.addFragment(new Profile());
    adapter.addFragment(new Setting());

    //Setting adapter
    viewPager.setAdapter(adapter);
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
    tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));

    }

    class PagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> mFragments = new ArrayList<>();

    public PagerAdapter(FragmentManager fm) {
    super(fm);
    }

    public void addFragment(Fragment fragment) {
    mFragments.add(fragment);
    }

    @Override
    public Fragment getItem(int position) {
    return mFragments.get(position);
    }

    @Override
    public int getCount() {
    return mFragments.size();
    }
    }
    }