android 闪烁图标,android – 为什么在页面之间滑动时TabLayout的选项卡的图标/文本会闪烁?...

博客内容涉及一个关于Android开发中的问题,具体是TabLayout在某个库版本中出现图标和文本显示异常。作者提供了临时解决方案,包括回退到旧版本库(com.android.support:design:22.2.0)以及手动管理TabLayout的图标和文本状态。建议在页面切换时更新图标,并提供了一个示例代码片段来实现这一操作。同时提到,这个问题预计在v23版本中会得到修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这似乎是一个已知问题,它也适用于文本:

它将在下一版本的库中得到修复.

解决方法是暂时使用以前的版本:

com.android.support:design:22.2.0

编辑:这不是一个好的解决方法,因为图标可能会在某些情况下消失(我认为方向更改和滑动的组合).

编辑:我认为它不会消失,但更像是将其颜色更改为我给它的选择器中不存在的其他东西(它只有2个状态:选中和默认).

编辑:好的,找到了图标的解决方法.

>使用旧版本(22.2.0),如上所述.

>您需要避免使用图标选择器.请改用精确的图像资源ID:

private static final int[] TAB_ICONS_UNSELECTED = {... };

private static final int[] TAB_ICONS_SELECTED = {... };

>根据页面选择更新图标,如下:

mViewPager.addOnPageChangeListener(new OnPageChangeListener() {

@Override

public void onPageSelected(final int position) {

for (int i = 0; i < tabLayout.getTabCount(); ++i)

tabLayout.getTabAt(i).setIcon(i != position ? TAB_ICONS_UNSELECTED[i] : TAB_ICONS_SELECTED[i]);

}

});

另外,请记住在初始化TabLayout时调用相同的循环.像这样的东西:

for (int i = 0; i < tabLayout.getTabCount(); ++i)

tabLayout.getTabAt(i).setIcon(i != mViewPager.getCurrentItem() ? TAB_ICONS_UNSELECTED[i] : TAB_ICONS_SELECTED[i]);

我认为这也应该解决文本的问题,而不仅仅是图标.

编辑:似乎v23将修复它,它很快就会可用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值