TabLayout更改下划线长度和内容保持一致
来源:互联网 发布:水平很高的网络词 编辑:程序博客网 时间:2024/06/18 13:21
先上效果图
主要是通过反射强制修改每个子Tab的左右边距,代码很简单,一看就明了
下面献上代码
public void setTabLine(TabLayout tab,int left,int right){ try { Class<?> tablayout = tab.getClass(); Field tabStrip = tablayout.getDeclaredField("mTabStrip"); tabStrip.setAccessible(true); LinearLayout ll_tab= (LinearLayout) tabStrip.get(tabLayout); for (int i = 0; i < ll_tab.getChildCount(); i++) { View child = ll_tab.getChildAt(i); child.setPadding(0,0,0,0); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT,1); //修改两个tab的间距 params.setMarginStart(BasicUtils.dip2px(context,left)); params.setMarginEnd(BasicUtils.dip2px(context,right)); child.setLayoutParams(params); child.invalidate(); } } catch (NoSuchFieldException e) { e.printStackTrace(); Log.e(TAG,e.toString()); } catch (IllegalAccessException e) { e.printStackTrace(); Log.e(TAG,e.toString()); }}
注意1:Tablayout的Mode必须得设置为fixed,否则会滑动
示例:app:tabMode=”fixed”
注意2:Tablayout的宽不能写死,得设置为包裹内容
阅读全文
0 0
- TabLayout更改下划线长度和内容保持一致
- Android开发 设置tablayout下划线长度和内容保持一致
- TabLayout设置下划线(Indicator)长度
- Tablayout动态设置下划线长度
- 设置tablayout下划线长度的方法
- 自定义TabLayout的下划线的长度
- TabLayout设置TabView宽度、下划线宽度和字体大小
- tablayout 设置下划线宽度。
- 在写Tablayout时候,发现不能设置下划线的长度,使用反射的方式,修改了长度
- TabLayout设置下划线(Indicator)宽度
- 设置tablayout下划线的宽度
- TabLayout设置下划线(Indicator)宽度
- TabLayout设置下划线(Indicator)宽度
- tabLayout改变下划线的宽度
- 控制字符串长度(中英文保持一致)
- 控制字符串长度(中英文保持一致) .
- spinner去掉下划线,和更改右下角小图标
- 【CSS】两列内容有背景,有间距,怎么右边和左边高度保持一致?
- Kotlin-Android世界的一股清流-流程控制
- 通过nodejs安装下载插件的一些注意事项
- 2017春高级软件工程学习总结
- java过滤器的作用和工作原理
- Python相关文章索引(8)
- TabLayout更改下划线长度和内容保持一致
- hdoj 2004
- PHP程序执行时间延长
- 面试题8:旋转数组的最小数字
- [Java并发包学习八]深度剖析ConcurrentHashMap-java1.7
- Python机器学习(1)-- 自己设计一个感知机(Perceptron)分类算法
- iOS 之启动项launchscreen
- linux 安装ffmpeg详解
- Access-Control-Allow-Origin跨域请求php+js