如何在tablayout中设置文本旁边的图标 [英] How to set icon next to text in tablayout

查看:49
本文介绍了如何在tablayout中设置文本旁边的图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下文本和图标制作 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 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);
    }
}

}

解决方案

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中设置文本旁边的图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆