TabLayout ViewPager 图标显示在角落 Android
TabLayout ViewPager Icon Show at Corners in Android
我已经实现了带有三个选项卡的ViewPager,每个选项卡只有图标,并且会左对齐显示。我的预期输出是制表符的宽度等于 space。这是我必要的代码和屏幕截图。请指导我解决问题,提前致谢。
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);
tabLayout.setTabMode(TabLayout.MODE_FIXED);
用 app:tabMode="fixed"
替换 layout.xml
中的 app:tabMode="scrollable"
我已经实现了带有三个选项卡的ViewPager,每个选项卡只有图标,并且会左对齐显示。我的预期输出是制表符的宽度等于 space。这是我必要的代码和屏幕截图。请指导我解决问题,提前致谢。
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);
tabLayout.setTabMode(TabLayout.MODE_FIXED);
用 app:tabMode="fixed"
替换 layout.xml
app:tabMode="scrollable"