2016-03-03 91 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

相關問題