【问题标题】:TabLayout ViewPager Icon Show at Corners in AndroidTabLayout ViewPager 图标显示在 Android 的角落
【发布时间】:2016-11-23 07:34:26
【问题描述】:

我用三个选项卡实现了 ViewPager,每个选项卡只有图标,它会显示为左对齐。我的预期输出是制表符的宽度将等于空间。这是我必要的代码和屏幕截图。请指导我解决问题,在此先感谢。

JustTabActivity.Class

 public class JustTabActivity extends AppCompatActivity {
    
        private TabLayout tabLayout;
        private ViewPager parent_viewpager;
        ViewPagerAdapter pageAdapter;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.aaa_sms_layout);
    
            parent_viewpager = (ViewPager) findViewById(R.id.parent_viewpager);
            setupViewPager(parent_viewpager);
    
            tabLayout = (TabLayout) findViewById(R.id.tabs);
            tabLayout.setupWithViewPager(parent_viewpager);
            tabLayout.setFillViewport(true);
            parent_viewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
            tabLayout.setOnTabSelectedListener(onTabSelectedListener(parent_viewpager));
            setupTabIcons();
        }
    
    
        private void setupTabIcons() {
            int[] tabIcons = {R.drawable.icon1,R.drawable.icon5,R.drawable.ic_settings };
    
            tabLayout.getTabAt(0).setIcon(tabIcons[0]);
            tabLayout.getTabAt(1).setIcon(tabIcons[1]);
            tabLayout.getTabAt(2).setIcon(tabIcons[2]);
    
            tabLayout.getTabAt(0).getIcon().setColorFilter(Color.parseColor("#018FFD"), PorterDuff.Mode.SRC_IN);
            tabLayout.getTabAt(1).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
            tabLayout.getTabAt(2).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
    
        }
    
        private void setupViewPager(ViewPager viewPager) {
            pageAdapter = new ViewPagerAdapter(getSupportFragmentManager());
            pageAdapter.addFrag(new fragment_home_new());
            pageAdapter.addFrag(new fragment_userprofile());
            pageAdapter.addFrag(new fragment_settings());
            parent_viewpager.setAdapter(pageAdapter);
        }
    }
   };
  }
 }

【问题讨论】:

  • 添加这个tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);并删除 app:tabMode="scrollable" 然后试试?来源:Here

标签: android android-viewpager android-tablayout


【解决方案1】:

在 layout.xml 中将 app:tabMode="scrollable" 替换为 app:tabMode="fixed"

【讨论】:

  • 感谢 Avani,我已经实现了您的代码,工作正常,如果我的问题符合条件,请放弃投票。谢谢
【解决方案2】:
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setTabMode(TabLayout.MODE_FIXED);

【讨论】:

  • 谢谢 Altaf,我已经实现了你的代码,它工作正常。让我知道我添加了更多选项卡方式,此代码可能会出现任何问题?如果我的问题符合条件,请放弃投票。谢谢
猜你喜欢
  • 1970-01-01
  • 2016-11-14
  • 1970-01-01
  • 2021-10-19
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
相关资源
最近更新 更多