我刚刚更新我的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。 –