2016-02-25 42 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); 

    ... 
} 
相關問題