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));

但是效果并不理想,如下图

Tablayout之Tab宽度左右无法填充_第1张图片
原图

解决办法

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

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

效果如下:

代码加入前:
[图片上传失败...(image-ee1c2-1539310594895)]

代码加入后:
[图片上传失败...(image-6057fa-1539310594895)]

由此可见,问题完美解决

总结

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

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

你可能感兴趣的:(Tablayout之Tab宽度左右无法填充)