【发布时间】: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