TabLayout设置指示器长度
来源:互联网 发布:rt809h编程器最新消息 编辑:程序博客网 时间:2024/05/23 11:50
TabLayout作为material design中重要一员,在项目中已经使用非常广泛,TabLayout和Viewpager的绑定,十分简单,而且TabLayout可以设置指示器颜色,高度,模式,各种参数,但是,TabLayout并没有给我们设置指示器长度的接口或者方法,遇到需要指定指示器长度的设计,令人抓狂
原文:http://www.jianshu.com/p/943c50343e8a
在Tablayout渲染之后,调用方法:
tab.post(new Runnable() { @Override public void run() { setIndicator(tab,60,60); } });
public void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class<?> tabLayout = tabs.getClass(); Field tabStrip = null; try { tabStrip = tabLayout.getDeclaredField("mTabStrip"); } catch (NoSuchFieldException e) { e.printStackTrace(); } tabStrip.setAccessible(true); LinearLayout llTab = null; try { llTab = (LinearLayout) tabStrip.get(tabs); } catch (IllegalAccessException e) { e.printStackTrace(); } int left = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, leftDip, Resources.getSystem().getDisplayMetrics()); int right = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, rightDip, Resources.getSystem().getDisplayMetrics()); for (int i = 0; i < llTab.getChildCount(); i++) { View child = llTab.getChildAt(i); child.setPadding(0, 0, 0, 0); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1); params.leftMargin = left; params.rightMargin = right; child.setLayoutParams(params); child.invalidate(); } }至此,问题解决了!
阅读全文
0 0
- TabLayout设置指示器长度
- TabLayout如何设置指示器长度?终于有答案了
- 修改TabLayout指示器的长度
- TabLayout设置指示器的宽度
- 设置TabLayout的indicator长度
- TabLayout设置下划线(Indicator)长度
- Tablayout动态设置下划线长度
- android.support.design.widget.TabLayout设置指示器的宽度
- 设置tablayout下划线长度的方法
- TabLayout实现ViewPager指示器
- Android TabLayout && 个性指示器
- Fragment + TabLayout (页签指示器)
- 史上最巧妙自定义tablayout指示器
- TabLayout的指示器宽度问题
- Android开发 设置tablayout下划线长度和内容保持一致
- TabLayout指示器的长短反射修改
- 在写Tablayout时候,发现不能设置下划线的长度,使用反射的方式,修改了长度
- 实现一个简单的类似 TabLayout 的顶部指示器
- 51Nod 1284 2 3 5 7的倍数
- [Python]paramiko实时获取命令执行输出及sftp上传
- juniper:opencontrail/contrail 作为SDN解决方案
- java动态代理原理源码解析(jdk8)
- STL 常用库简介
- TabLayout设置指示器长度
- MySQL表结构,表空间,段,区,页,MVCC
- poj 2923
- Linux目录结构与常用命令
- Linux文件操作 create/open/close/write/read函数
- [100个改变摄影的伟大观念].(英)玛瑞恩.高清扫描版.pdf
- java学习随笔--java基本类型及string 变量
- [LeetCode] 695. Max Area of Island
- FZU 1021