android - 如何在tablayout中的文本旁边设置图标

标签 android android-studio android-tablayout

我正在使用以下 tutorial 中的文本和图标制作 Tablayout ..

我的问题是如何将图标放置在文本旁边而不是文本上方? 我是Android开发的新手,希望你们能帮助我。提前谢谢你,非常感谢你的回答..

enter image description here

这是我的java文件

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);
    }
}

最佳答案

另一种解决方案是在您的 Activity .xml 中设置 app:tabInlineLabel="true" 或调用 TabLayout 方法 setInlineLabel(true)

Source

关于android - 如何在tablayout中的文本旁边设置图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34370081/

相关文章:

android - 在 TabLayout 中获取自定义 TextView - Android 设计库

android - fragment 上带有 ViewPager 的 TabLayout - Lollipop 设备

android - 更改 viewPager 滑动方向

android - 成绩同步失败 : Unresolved dependencies

android - 如何显示本地 ://image in ionic framework + cordova?

android - 如何最好地将我被遮挡的 ProgressBar 放在屏幕上的 ConstraintLayout 上?

java - 如何使从ListView页中选择一个项目并在下一页/Activity 中以文本显示所选项目成为可能?

android - 如何从 tabactivity 启动的 Activity 更改 tabactivity 的选项卡?或更改当前选项卡

android - 获取资源失败

java - 解码 [] 字节我只得到字符�����