最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
基于TabLayout中的Tab间隔设置方法(实例讲解)
时间:2022-06-25 23:09:20 编辑:袖梨 来源:一聚教程网
TabLayout和ViewPager搭配使用,是有很多方便性,但是TabLayout这东西还是有很多被人吐槽的地方。
这里只讲怎么设置tab之间的间隔,网上找了一堆方法,什么padding和margin的啥都没用,没办法,想用TabLayout只能自己想办法了。效果如下:
一、实现方法,既然这东西不好设置,那就直接在背景上做点事情,布局代码如下:
二、其中关键的地方就在背景的selector上,代码如下:
注释掉的地方是原来没间隔的selector,这里直接给背景设置了个左右的padding,效果杠杠的。
缺点:如果间隔过大的话,那这种方式就有一点的缺陷了,就是点击到空白处,也能选中tab。
不过对于间隔不是很大的,基本是感觉不出来的。
三、Activity的使用就很简单了:
TabLayout mTabLayout = (TabLayout) findViewById(R.id.tl_download_tabs);
mTabLayout.addTab(mTabLayout.newTab().setText("已下载"));
mTabLayout.addTab(mTabLayout.newTab().setText("下载中"));
mTabLayout.setupWithViewPager(mViewPager);
四、原来是线性布局下,放着TabLayout和ViewPager,试着在TabLayout外嵌套多一个RelativeLayout,发现出来的效果Tab的文字不显示了,至于网上说的调换addTab和setupWithViewPager的顺序也是坑,可以看到显示,但是出现了更离谱的情况,前面两个空白,后面还多了两个正常的,反正是很奇葩。
最后还是得在Adapter中去处理,把以下方法重写下就可以了,其实这样可能更合理些,至少能保证Tab的数量和ViewPager的页数是一致的。
@Override
public CharSequence getPageTitle(int position) {
if(position == 0){
return "已下载";
}else if(position == 1){
return "下载中";
}
return "";
}
相关文章
- dnf神界版本蓝拳装备搭配毕业攻略 神界版本蓝拳装备怎么选 11-29
- 流放之路S24速刷简单策略选择推荐 11-29
- 魔兽世界乌龟服防骑a怪一键宏指令分享 11-29
- 创世秩序全地图资料汇总 全地图区域中文名字对照 11-29
- 播种委员会全角色解锁攻略 全人物解锁位置详解 11-29
- 魔兽世界N服官网地址分享 Everlook服入口位置2024 11-29
