android - TabLayout ViewPager 图标显示在 Android 的角落

标签 android android-viewpager android-tablayout

我已经实现了带有三个选项卡的 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);
        }
    }
   };
  }
 }

Screenshot of my output, Please Help to set Tabs Equally

最佳答案

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

关于android - TabLayout ViewPager 图标显示在 Android 的角落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758508/

相关文章:

android - 如何在 web-view 的 Touchselect 上复制文本并在 android 中显示

java - 如何使用 Onclick/Ontouch 调用 Java 中的两种方法之一?

android - 如何关闭 TextInputLayout 中的错误?

android - 如何正确地将自定义 View 添加到 Activity

Android 禁用 tablayout 上的选项卡

Fragment 内的 Android 选项卡布局未加载选项卡内容

viewpager中的Android异步任务

android - 如何解决软键盘显示/隐藏工作缓慢?

android - 如何通过单击 Android 中当前选项卡中的按钮转到其他选项卡?

android - 从 Tablayout 检索 EditText 值