2016-02-25 38 views
2

我刚刚更新我的Android Studio到最新版本。此更新随附支持设计库版本23.2.0TabLayout不显示图标与Android支持库23.2.0

我在应用程序中使用了带图标的TabLayout(将Drawable转换为SpannableString),并且与支持设计库版本23.1.1(但不是版本23.2)配合使用。 0。

这个问题的任何想法?

+0

同样的问题... getPageTitle()返回带有drawable的SpannableString。 –

回答

0

如果您正在使用TabLayout和压倒一切的addTab(TAB)覆盖,然后覆盖

public void addTab(Tab tab, boolean setSelected) 

public void addTab(Tab tab, int position, boolean setSelected) 

从可以看到的实现,这两种方法都没有链接,所以您的代码只会被调用一次,具体取决于框架使用的方法。

貌似23.2.0版本从调用addTab(TAB)到addTab(TAB键的话,布尔的setSelected)改变直接

0

这里是图标的答案:

mTabLayout.setupWithViewPager(mViewPager); 
// and then: 
for (int i = 0; i < tabLayout.getTabCount(); i++) { 
    tabLayout.getTabAt(i).setIcon(R.drawable.btn_add_card); 
} 
这里找到

Tablayout with icons only

0

更新到Android支持库23.2.0和更高版本到23.3.0后,我遇到了同样的问题。

搜索后没有找到任何答案,我终于自己解决了。我的解决办法是直接每个notifyDataSetChanged()被调用时间后更新的图标(也许你需要在更多的地方)象下面这样:

mSectionsPagerAdapter.notifyDataSetChanged(); 
mTabLayout.getTabAt(0).setIcon(R.drawable.tab_0_icon); 
mTabLayout.getTabAt(1).setIcon(R.drawable.tab_1_icon); 
mTabLayout.getTabAt(2).setIcon(R.drawable.tab_2_icon); 
mTabLayout.getTabAt(3).setIcon(R.drawable.tab_3_icon); 

的成员所使用以上在活动的onCreate()像下面设置

... 

private SectionsPagerAdapter mSectionsPagerAdapter; 
private ViewPager mViewPager; 
private TabLayout mTabLayout; 

... 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    ... 

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

    // Set up the ViewPager with the sections adapter. 
    mViewPager = (ViewPager) findViewById(R.id.container); 
    mViewPager.setAdapter(mSectionsPagerAdapter); 

    mTabLayout = (TabLayout) findViewById(R.id.tabs); 
    mTabLayout.setupWithViewPager(mViewPager); 

    mTabLayout.getTabAt(0).setIcon(R.drawable.tab_0_icon).select(); 
    mTabLayout.getTabAt(1).setIcon(R.drawable.tab_1_icon); 
    mTabLayout.getTabAt(2).setIcon(R.drawable.tab_2_icon); 
    mTabLayout.getTabAt(3).setIcon(R.drawable.tab_3_icon); 

    ... 
} 
相关问题