title: Add Icons+Text to TabLayout
body: <p>I am working on a screen which contains Three tabs I am trying to add an icon with My text in tabs and i want the image to be upper the text and there should be some space between them
  it is my code.</p>
  
  <pre><code>public class HomeScreen extends AppCompatActivity
      implements NavigationView.OnNavigationItemSelectedListener {
  
  private Toolbar toolbar;
  private ViewPager pager;
  private ViewPagerAdapter adapter;
  private SlidingTabLayout tabs;
  private CharSequence Titles[] = {"News", "Most Views", "Chart"};
  int Numboftabs = 3;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_home_screen);
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
      setSupportActionBar(toolbar);
  
      DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
      ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
              this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
      drawer.setDrawerListener(toggle);
      toggle.syncState();
  
      NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
      navigationView.setNavigationItemSelectedListener(this);
  
      //MAhmoud Code Addtion
      // getSupportActionBar().setDisplayHomeAsUpEnabled(true);
     // getSupportActionBar().setIcon(R.drawable.ic_launcher);
  
      // Creating The ViewPagerAdapter and Passing Fragment Manager, Titles
      // fot the Tabs and Number Of Tabs.
      adapter = new ViewPagerAdapter(getSupportFragmentManager(), Titles,
              Numboftabs);
  
      // Assigning ViewPager View and setting the adapter
      pager = (ViewPager) findViewById(R.id.pager);
      pager.setAdapter(adapter);
  
      // Assiging the Sliding Tab Layout View
      tabs = (SlidingTabLayout) findViewById(R.id.tabs);
      tabs.setDistributeEvenly(true);
      tabs.setViewPager(pager);
  
  }
  
  @Override
  public void onBackPressed() {
      DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
      if (drawer.isDrawerOpen(GravityCompat.START)) {
          drawer.closeDrawer(GravityCompat.START);
      } else {
          super.onBackPressed();
      }
  }}
  </code></pre>
  
  <p>ViewPagerAdapter</p>
  
  <pre><code>public class ViewPagerAdapter extends FragmentStatePagerAdapter {
  
  CharSequence Titles[];
  int NumbOfTabs;
  
  public ViewPagerAdapter(FragmentManager fm, CharSequence mTitles[],
          int mNumbOfTabsumb) {
      super(fm);
      this.Titles = mTitles;
      this.NumbOfTabs = mNumbOfTabsumb;
  }
  // This method return the fragment for the every position in the View Pager
  @Override
  public Fragment getItem(int position) {
      switch (position) {
      case 0:
          return new Tap1();
  
      case 1:
          return new Tap2();
      case 2:
          return new Tap3();
      }
      return null;
  }
  // This method return the titles for the Tabs in the Tab Strip
  @Override
  public CharSequence getPageTitle(int position) {
      return Titles[position];
  }
  // This method return the Number of tabs for the tabs Strip
  @Override
  public int getCount() {
      return NumbOfTabs;
  }}
  </code></pre>