Tablayout设置间距
Tablayout设置item间距
- 方法:1
/*** 设置tablayout下划线根据文字宽度而改变* @param tabLayout* @param padding*/public void setTabWidth(final TabLayout tabLayout, final int padding){tabLayout.post(new Runnable() {@Overridepublic void run() {try {//拿到tabLayout的mTabStrip属性LinearLayout mTabStrip = (LinearLayout) tabLayout.getChildAt(0);for (int i = 0; i < mTabStrip.getChildCount(); i++) {View tabView = mTabStrip.getChildAt(i);//拿到tabView的mTextView属性 tab的字数不固定一定用反射取mTextViewField mTextViewField = tabView.getClass().getDeclaredField("mTextView");mTextViewField.setAccessible(true);TextView mTextView = (TextView) mTextViewField.get(tabView);tabView.setPadding(0, 0, 0, 0);//字多宽线就多宽,所以测量mTextView的宽度int width = 0;width = mTextView.getWidth();if (width == 0) {mTextView.measure(0, 0);width = mTextView.getMeasuredWidth();}//设置tab左右间距 注意这里不能使用Padding 因为源码中线的宽度是根据 tabView的宽度来设置的LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tabView.getLayoutParams();params.width = width ;params.leftMargin = padding;params.rightMargin = padding;tabView.setLayoutParams(params);tabView.invalidate();}} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}});}
setTabWidth(tab, 25);//这个方法要用在 tablayout 和viewPager 绑定之前。tablayout 属性设置 app:tabMode="fixed" 才有效//绑定viewPager tab.setupWithViewPager(viewPager, false);
补充:如果只是为了宽度和字体宽度一样,tablayout已经加入了新属性
app:tabIndicatorFullWidth=“false”
上面的方法可以设置固定宽度
方法:2
在Android的TabLayout中item的间距是默认的,之前找了很多方法都没有找到调整的方法,如果要修改则可以给TabLayout添加以下两个属性
app:tabMaxWidth=""
app:tabMinWidth="
``
添加完这两个属性后item之间默认的间距就会消失,这个时候就可以自己给item设置间距了,还是在TabLayout中添加以下属性
app:tabPaddingStart=""
app:tabPaddingEnd=""
这样就可以实现对TabItem的间距修改了
另一个参考文章很好记录一下:
TabLayout设置Tab间距_休以希的博客-CSDN博客_tablayout 间距
————————————————
版权声明:本文为CSDN博主「偶然一眼看到你」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37142785/article/details/110550184
Tablayout设置间距相关推荐
- php表格之间设置间隔,html表格如何设置间距
html表格设置间距的方法:1.设置第一个tbale的[margin-bottom]属性,代码为[ 本教程操作环境:windows7系统.html5版,DELL G3电脑,该方法适用于所有品牌电脑. ...
- UICollectionViewCell的设置间距
UICollectionViewCell的设置间距 #pragma mark - UICollectionView 大小(宽高,平均一行三个) - (CGSize)collectionView:(UI ...
- 18-CSS问题-让多个div横排显示并设置间距解决方案
18-CSS问题-让多个div横排显示并设置间距解决方案 参考文章: (1)18-CSS问题-让多个div横排显示并设置间距解决方案 (2)https://www.cnblogs.com/Romant ...
- ViewPager(六)让ViewPager用起来更顺滑——设置间距与添加转场动画
用法概述: 1.换页监听与换页方法 2.懒加载及预加载定制 3.设置间距与添加转场动画 4.轮播.禁止滑动与指示器的配合 这篇和下一篇都是偏向技巧的东西,对于前端开发者来讲,开发的应用是直接面对用户的 ...
- Android TabLayout设置选中状态标题字体大小,粗细
最全Tablayout详解https://blog.csdn.net/yechaoa/article/details/122270969 -------------------布局文件-------- ...
- html怎么修改表格行列间距,html表格如何设置间距
html表格设置间距的方法:1.设置第一个tbale的[margin-bottom]属性,代码为[ 本教程操作环境:windows7系统.html5版,DELL G3电脑,该方法适用于所有品牌电脑. ...
- html如何设置字段间距,html表格如何设置间距
html表格设置间距的方法:1.设置第一个tbale的[margin-bottom]属性,代码为[ 本教程操作环境:windows7系统.html5版,DELL G3电脑,该方法适用于所有品牌电脑. ...
- android网格布局间隙,RecyclerView网格布局瀑布流布局设置间距
RecyclerView在网格布局或者瀑布流布局下,如果要设置间距,可以使用ItemDecoration. 下面的代码是设置显示两列数据RecyclerView的情况. cat.png @Overri ...
- TabLayout设置图标和字体
tablayout设置图标时不显示:可以通过自定义布局来添加tab private void initView() {//设置图标数组icon = new int[]{R.mipmap.home, R ...
最新文章
- dorado学习笔记(二)
- React SPA学习(一)
- OO第一单元总结博客
- InnoDB 存储引擎体系架构
- memcache mysql 同步_memcache与mysql数据库同步
- linux脚本变量运算符,linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)...
- Windows Linux Mac 路由添加删除
- C++ 默认构造函数的构建
- ARMv8-A Exception Levels
- Linux学习日记之初始用户管理
- 链行动之精选案例——区块链解决四大痛点 福费廷结合案例逐步落地
- 抖音书单号如何快速上热门
- cookies、sessions、token区别
- hpm1005能扫描不能打印_小米米家喷墨打印一体机体验:500元以内学生和职场人的实惠选择...
- 【CLAPACK函数库】CLAPACK安装与使用,编译好了出现f2c_dgemm,dgesvd_错误主要是camkelist, gcc编译库的顺序要对
- 《比尔总动员》服务器开启时间总览
- 公众号开发精品教程(1)——绪论及环境搭建
- Material icons 全图标一览
- XMOS开发环境安装
- 电脑图片怎么识别成表格并导出?一键识别有方法