代码动态设置tabLayout 导航条宽度
2017-08-22 14:49
561 查看
项目用中用到了tabLayout 切换页面,但是他下面的导航栏宽度不符合要求,于是研究了半天。
不多说直接贴代码。
具体的用法呢就是tablayout 及 左右距离
不多说直接贴代码。
/** * 设置tabLayout 导航条宽度 */ 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) { } 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(); } }
具体的用法呢就是tablayout 及 左右距离
setIndicator(tabLayout, 20, 20);
相关文章推荐
- 微信小程序 动态的设置图片的高度和宽度详解及实例代码
- Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换
- 在代码动态设置RelativeLayout的属性,比如layout_below
- 设置TabLayout下划线的宽度
- Android中如何在代码中动态设置控件的高度以及宽度
- 转--如何使用代码动态的获取和设置ImageView的宽度和高度?
- [置顶] Android开发之设置TabLayout下方下划线的宽度
- TabLayout设置指示器的宽度
- Materail Design 入门(六)—— TabLayout之设置自定义指示器宽度(3)
- Android UI之代码动态设置ImageView的宽度和高度
- Android TabLayout设置指示器宽度的方法
- TabLayout设置下划线(Indicator)宽度
- 使用XTablayout实现横向滑动菜单,可以设置文字下面导航栏的宽度
- android.support.design.widget.TabLayout设置指示器的宽度
- 设置tablayout下划线的宽度
- 设置tablayout光标宽度
- TabLayout设置下划线宽度
- Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换
- 如何修改布局组件宽度设置固定值,在代码中动态修改
- Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换