2016-03-03 58 views
2

有在标签中没有图标,如果应用程序与支持库23.2.0Android支持库23.2。 TabLayout带图标

建我有tabLayout应用程序中使用的图标。

@Override 
public CharSequence getPageTitle(int position) { 
    Drawable image = ContextCompat.getDrawable(context, imageResId[position]); 
    image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight()); 
    SpannableString sb = new SpannableString(" "); 
    ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM); 
    sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    return sb; 
} 

我在我的FragmentPagerAdapter中使用这段代码,它在Android支持库23.2.0之前运行良好。我的意思是这段代码在我使用版本23.1.1时正常工作,但如果我使用支持库版本23.2.0构建应用程序,则没有图标的干净标签。这是一个临时性错误,将在下一次修订中修复,还是应该以其他方式实现带有图标的选项卡?

+0

嗨,你有没有解决问题了吗?我有完全相同的问题...我用@marmor解决方案重构了我的代码..但我仍然想知道上面的代码有什么问题... –

+0

嗨,可惜没有。我将版本降级到23.1.1。希望这是该版本的支持库中的一个bug,它将在下一个版本中修复。 – Bashalex

回答

1

有图标的设置TabLayout标签的API:

... 
tabLayout.setupWithViewPager(pager); 
tabLayout.getTabAt(0).setIcon(R.drawable.icon1); 
tabLayout.getTabAt(1).setIcon(R.drawable.icon2); 
... 
+0

是的,我也尝试过这种方法。但是还有另一个问题。它正常工作,直到在FragmentPagerAdapter(我在其中一个页面中更改片段时使用它)内的notifyDataSetChanged()的第一个调用。此通话图标消失后。顺便说一句,这个错误也只出现在支持库23.2.0中。 – Bashalex

相关问题