我剛剛更新我的Android Studio到最新版本。此更新隨附支持設計庫版本23.2.0TabLayout不顯示圖標與Android支持庫23.2.0
我在應用程序中使用了帶圖標的TabLayout(將Drawable轉換爲SpannableString),並且與支持設計庫版本23.1.1(但不是版本23.2)配合使用。 0。
這個問題的任何想法?
我剛剛更新我的Android Studio到最新版本。此更新隨附支持設計庫版本23.2.0TabLayout不顯示圖標與Android支持庫23.2.0
我在應用程序中使用了帶圖標的TabLayout(將Drawable轉換爲SpannableString),並且與支持設計庫版本23.1.1(但不是版本23.2)配合使用。 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)改變直接
這裏是圖標的答案:
mTabLayout.setupWithViewPager(mViewPager);
// and then:
for (int i = 0; i < tabLayout.getTabCount(); i++) {
tabLayout.getTabAt(i).setIcon(R.drawable.btn_add_card);
}
這裏找到
更新到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);
...
}
同樣的問題... getPageTitle()返回帶有drawable的SpannableString。 –