本文介绍了如何在tablayout中设置文本旁边的图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我正在使用以下文本和图标制作 Tablayout 这是我的java文件public class AllProducts extends AppCompatActivity {公共 ViewPager viewPager;公共 TabLayout tabLayout;public int[] tabIcons = {R.drawable.ic_directions_car_white_24dp,R.drawable.ic_motorcycle_white_24dp,R.drawable.ic_build_white_24dp};@覆盖protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.all_products);工具栏工具栏 = (工具栏) findViewById(R.id.toolbar);setSupportActionBar(工具栏);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();}私有无效 setupTabIcons() {tabLayout.getTabAt(0).setIcon(tabIcons[0]);tabLayout.getTabAt(1).setIcon(tabIcons[1]);tabLayout.getTabAt(2).setIcon(tabIcons[2]);}私有无效 setupViewPager(ViewPager viewPager) {ViewPagerAdapter 适配器 = new ViewPagerAdapter(getSupportFragmentManager());adapter.addFragment(new Tab1(), "CAR");adapter.addFragment(new Tab2(), "MOTORCYCLE");adapter.addFragment(new Tab3(), "OTHERS");viewPager.setAdapter(适配器);}类 ViewPagerAdapter 扩展 FragmentPagerAdapter {私人最终列表mFragmentList = new ArrayList();私有最终列表mFragmentTitleList = new ArrayList();公共 ViewPagerAdapter(FragmentManager 管理器){超级(经理);}@覆盖公共片段 getItem(int position) {返回 mFragmentList.get(position);}@覆盖公共 int getCount() {返回 mFragmentList.size();}public void addFragment(Fragment fragment, String title) {mFragmentList.add(fragment);mFragmentTitleList.add(title);}@覆盖公共 CharSequence getPageTitle(int position) {返回 mFragmentTitleList.get(position);}}@覆盖公共布尔 onOptionsItemSelected(MenuItem item) {开关(item.getItemId()){案例android.R.id.home:结束();返回真;默认:返回 super.onOptionsItemSelected(item);}}} 解决方案 很简单.Tab tab = tabLayout.newTab();tab.setCustomLayout( R.layout.whatever );tabLayout.addTab(添加);您的布局将是一个简单的 TextView,带有一个指定您的图标的 drawableRight.更多信息:http://panavtec.me/playing-with-the-new-support-tablayout/I am working on Tablayout with text and icon from the following tutorial ..My question is how to make the icon placed next to the text instead of above them?I am new in Android Development, hopefully you guys can help me out. Thank you in advance, really appreciate the answer..Here is my java filepublic 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};@Overrideprotected 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); }}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); }}} 解决方案 It's easy. Tab tab = tabLayout.newTab();tab.setCustomLayout( R.layout.whatever );tabLayout.addTab(add);Your layout would be a simple TextView with a drawableRight that specifies your icon.For more: http://panavtec.me/playing-with-the-new-support-tablayout/ 这篇关于如何在tablayout中设置文本旁边的图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-04 01:27
查看更多