Android 解决Tablayout不显示标题,头部一片空白的问题

前言

Android 解决Tablayout不显示标题,头部一片空白的问题
如果你也是一样的问题 那么请往下看 可能我们的问题是一样导致的

效果

tabyout

解决思路

最近在项目中到了 TabLayout+ViewPager+Fragment重用 动态创建的组合

在使用过程中遇到一个问题 TabLayout不显示标题 标题栏未知一片空白

百思不得其解 这个组合我也算经常用 但是这种问题还是第一次遇到

查阅资料后得到的答案 没有能解决问题的

在一遍一遍查看代码时 我看到了自己的Title数组长度 这个细节引起了我的注意

先看看我的Title数据源

  private String[] titles = new String[]{"csdn榜", "掘金热榜", "哔哩哔哩热榜", 
  "抖音视频榜", "吾爱破解热榜",
  "知乎热榜", "微博热搜", "微信 ‧ 24h热文榜", "百度 ‧ 实时热点", "今日头条", "网易新闻",
  "新浪网 ‧ 热词排行榜", "36氪 ‧ 24小时热榜", "历史上的今天",
  "少数派", "V2ex热帖", "全球主机论坛热帖"};

猛然一看 感觉没什么问题 而且我的fragment也都动态创建完了

title数据源 过长

接着上面说 我的想法和思路
这么长的title数组 会不会是因为一屏幕显示不下导致的?而且我的标题 有些文字很长

顺着这个思路 我去翻阅资料 查到
TabLayout有个属性
当TabLayout标签太多时,Tab显示拥挤导致出现省略号显示不全 可以设置

app:tabMode="scrollable"

如何一句话 结果解决了我的问题 我去 这也太坑了吧 是我孤陋寡闻了吗

结尾

解决问题的途中遇到很多答案 亲测 都没有用

比如

        for (int i = 0; i < titles.length; i++) {
            Objects.requireNonNull(mTabLayout.getTabAt(i)).setText(titles[i]);
        }

比如

tablayout.setupWithViewPager(viewPager)方法中setPagerAdapter(),
当我们有一个adapter后,不会添加观察者,然后执行populateFromPagerAdapter(),
此方法中移除了所有tabs : removeAllTabs()

总结

遇到问题时 总是想一帆风顺的解决 但有时一个很小的细节 或者一个不起眼的瞬间
就能找到问题的根源
归根结底 遇到问题 不慌不燥 需要细心排查问题的根源
共勉!2021 继续努力~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕氏春秋i

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值