项目用中用到了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);

代码动态设置tabLayout 导航条宽度相关推荐

  1. html鼠标滑过导航条展开导航条,JS+CSS实现鼠标滑过时动态翻滚的导航条效果

    本文实例讲述了JS+CSS实现鼠标滑过时动态翻滚的导航条效果.分享给大家供大家参考.具体如下: 这是一款鼠标悬停时动态翻滚的导航条,注意这里用了两个背景图,请等待网页加载完成或多刷新几次,这个是使用J ...

  2. iOS小技能:自定义导航栏,设置全局导航条外观。(iOS15适配)

    文章目录 前言 I 自定义导航栏 1.1 自定义导航条 1.2 设置全局导航条按钮主题 1.3 设置导航条渐变颜色 1.4 ` 拦截push` II 相关代码 see also 前言 需求:同一个模块 ...

  3. uni-app 设置页面导航条颜色

    下述两种方法中颜色限制为十六进制颜色. 1.pages.json页面路由中,用style设置每一个页面的导航栏背景颜色如: {   "pages": [{       " ...

  4. html中 导航条置顶的代码,一个DIV+CSS代码布局的简单导航条

    一个蓝色主题的导航条结构案例,本CSS小实例,采取DIV CSS实现.同时不必图片做靠山,直接运用布景致完成,鼠标经由过程悬停对应栏目称说是对应背景蓝色变深. 导航条一小块成就截图 通常导航条接纳ul ...

  5. 一个完美的导航条html,一个DIV CSS代码布局的简单导航条

    简单的DIV CSS代码布局实现导航条 一个蓝色主题的导航条布局案例,本CSS小实例,采用DIV CSS实现.同时不用图片做背景,直接使用背景色实现,鼠标经过悬停对应栏目名称是对应背景蓝色变深. 导航 ...

  6. Android代码动态设置圆角,颜色,线条背景

    开发中平时用到了圆角背景,但是每个圆角背景都不一样,这样还要创建多个xml布局,为了简单快捷,可以使用代码创建圆角背景. 这里以创建矩形圆角背景为例.GradientDrawable.RECTANGL ...

  7. 如何动态设置vue组件的宽度和高度?

    在组件最外层加上div 给div加上属性:style="{ height: toggleHeight ? toggleHeight : '2000px', width: toggleWidt ...

  8. uni-app动态设置页面导航

    1.动态设置当前页面的标题 uni.setNavigationBarTitle(OBJECT) 示例: uni.setNavigationBarTitle({title: '新的标题' });

  9. 动态设置控件的宽度(width)

    1.有一个项目,需要动态添加标签(button),一个或者两个button,当固定div大小时,如果只放一个button就会有很多空白,看起来不太好,因此需要动态改变div的width自动调整宽度. ...

最新文章

  1. matlab 噪声检测,MATLAB应用在基于噪声检测的图像均值去噪法
  2. 帆软报表调用mysql存储过程_FineReport单行与数据库交互的方法
  3. Oracle分区表详解 .
  4. 如何合理的规划jvm性能调优
  5. JQuery Datatables editor 行内编辑功能
  6. MySQL:定时任务被拒绝
  7. mysql表空间名字查询_数据库表空间信息查询
  8. 手绘时钟的设计与实现
  9. python学习(day1)初识入门
  10. 03-22 H5 性能分析
  11. #ifdef __cplusplus extern C { #endif”的定义
  12. iOS之有用的分类(UsefulCategory)
  13. 各大物联网通信技术对比
  14. Linux Pthread学习记录
  15. c语言 习题错题知识点(1) (关键字 合法数据类型 逗号运算符)
  16. Github / Gitlab Actions 中的 cron 格式 和设置方法
  17. OpenDDS3.16.1在x86/amd64平台的编译
  18. VC|MFC内存不能为read,内存不能为 written 分析
  19. rv1126 获取图像数据,实现图像裁剪、缩放、旋转【RK_MPI API接口】
  20. Ubuntu还需要做什么才能替代Windows?

热门文章

  1. cv2画圈写字保存图像
  2. 360用html文件导入找不到,“IE about协议被劫持,急救箱添加mshtml.dll文件提示没有要恢复的文件”的解决方案...
  3. 如何下载jQuery常用插件
  4. skydrive云存储+android开放源码,SkyDrive 云端存储服务
  5. exFAT 文件系统格式
  6. python 快手视频去水印批量下载
  7. 05_Support Vector Machines_03拉格朗日Lagrangian function先最大化maximize后最小化minimize_QP solver(soft-margin)
  8. 月薪15k的软件测试工程师需要学习哪些技术?
  9. android高德地图获取海拔_在vue中使用高德地图开发,以及AMap的引入?
  10. Cordova高德地图定位、ionic2/3/4高德地图定位(解决部分国产手机无法定位的情况)