[Android]:在TabLayout上设置的图标在屏幕旋转之前不会显示

时间:2018-09-13 10:52:33

标签: android android-fragments android-viewpager icons android-tablayout

我正在为我的活动中的TabLayout中的选项卡设置图标,它们在我拥有的两个测试设备上完美显示:

  • 三星Galaxy S8 +(Android 7.0)
  • 三星Galaxy K Zoom(Android 4.4.2)

但是在Samsung Galaxy S7 Edge(Android 7.0)上进行测试时,图标没有显示出来吗?运行该应用程序时,不会显示图标,但是如果我尝试旋转屏幕,它们会显示并保持显示状态!为什么?

代码如下:

MainActivity(onCreate):

tabLayout = findViewById(R.id.tabs);
tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.colorIndivateTab));
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons();

setupTabIcons():

private void setupTabIcons() {
    int[] tabIcons = {
            R.drawable.ic_tab_person,
            R.drawable.ic_tab_group,
            R.drawable.ic_tab_infor
    };

    tabLayout.getTabAt(0).setIcon(tabIcons[0]);
    tabLayout.getTabAt(1).setIcon(tabIcons[1]);
    tabLayout.getTabAt(2).setIcon(tabIcons[2]);
}

setupViewPager():

private void setupViewPager(ViewPager viewPager) {
    adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFrag(new Fragment1(), STR_FIRST_FRAGMENT);
    adapter.addFrag(new Fragment2(), STR_SECOND_FRAGMENT);
    adapter.addFrag(new Fragment3(), STR_THRIRD_FRAGMENT);
    viewPager.setAdapter(adapter);
    viewPager.setOffscreenPageLimit(3);
}

0 个答案:

没有答案