Tablayout之Tab宽度左右无法填充

Tablayout之Tab背景显示

前段时间做一个项目使用到了Tablayout,可以用来实现类似知乎分栏的效果要使用Tablayout,必须引用Google的Android Support Design库,使用Android Studio 的同学可以直接使用只要在build.gradle中加入

compile 'com.android.support:design:22.2.0'

即可

遇到的问题

使用中,我需要设置Tab的点击效果,所以我新建了一个selector,并将每一个tab的界面背景设置为该selector

itemTab.setCustomView(R.layout.item_tab_layout_custom);
                        itemTab.getCustomView().setBackgroundResource(R.drawable.selector_tab);
                        TextView itemTv = (TextView) itemTab.getCustomView().findViewById(R.id
                                .tv_menu_item);
                        itemTv.setText(tabIndicators.get(i));

但是效果并不理想,tab左右两边的背景无法全部填充,左右有很大的空隙严重影响美观,如下图

解决办法

百度了两天后,还是没有解决该问题,直到第三天,我的科学上网工具又好了- -感动到晕厥(事实证明,程序员真的不适合用百度,生活服务还好)
我google到了下面一篇文章,其中讲到了:
如果你设置了TabMode为MODE_FIXED然后发现文本并没有包围全局,或许是因为Tablayout在创建时应用了一些嵌入设置,你可以将下面的代码写入xml以解决此问题:

app:tabPaddingStart="-1dp"
app:tabPaddingEnd="-1dp"

效果如下:

代码加入前:

代码加入后:

由此可见,问题完美解决

总结

经过了这一次的问题,越发觉得程序员学会科学上网是多么重要,也增加了自己查询解决问题的能力,Tablayout作为谷歌推出的遵循MD的控件,应该多加学习利用。

自己新建的个人博客,至今还有很多的问题,如果谁有兴趣希望跟我联系,共同进步,共同学习,望不吝提出意见与指导,万分感谢!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值