How to set icon next to text in tablayout

I am working on a tablayout with text and icon from the next tutorial .

My question is how to make an icon next to the text, and not above it? I am new to Android Development, hope you guys can help me. Thank you in advance, very grateful for the answer.

enter image description here

Here is my java file

public class AllProducts extends AppCompatActivity { public ViewPager viewPager; public TabLayout tabLayout; public int[] tabIcons = { R.drawable.ic_directions_car_white_24dp, R.drawable.ic_motorcycle_white_24dp, R.drawable.ic_build_white_24dp }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.all_products); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); viewPager = (ViewPager) findViewById(R.id.viewpager2); setupViewPager(viewPager); tabLayout = (TabLayout) findViewById(R.id.sliding_tabs); 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]); } private void setupViewPager(ViewPager viewPager) { ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); adapter.addFragment(new Tab1(), "CAR"); adapter.addFragment(new Tab2(), "MOTORCYCLE"); adapter.addFragment(new Tab3(), "OTHERS"); viewPager.setAdapter(adapter); } class ViewPagerAdapter extends FragmentPagerAdapter { private final List<Fragment> mFragmentList = new ArrayList<>(); private final List<String> mFragmentTitleList = new ArrayList<>(); public ViewPagerAdapter(FragmentManager manager) { super(manager); } @Override public Fragment getItem(int position) { return mFragmentList.get(position); } @Override public int getCount() { return mFragmentList.size(); } public void addFragment(Fragment fragment, String title) { mFragmentList.add(fragment); mFragmentTitleList.add(title); } @Override public CharSequence getPageTitle(int position) { return mFragmentTitleList.get(position); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } 

}

+7
android android-studio android-tablayout
source share
1 answer

It is easy.

 Tab tab = tabLayout.newTab(); tab.setCustomLayout( R.layout.whatever ); tabLayout.addTab(add); 

Your layout will be a simple TextView with a drawableRight that indicates your icon.

More details: http://panavtec.me/playing-with-the-new-support-tablayout/

+2
source share

All Articles