/**
* 设置tab下划线宽度
* @param tabLayout
*/
public void reflex(final TabLayout tabLayout){
//了解源码得知 线的宽度是根据 tabView的宽度来设置的
tabLayout.post(new Runnable() {
@Override
public void run() {
try {
//拿到tabLayout的mTabStrip属性
LinearLayout mTabStrip = (LinearLayout) tabLayout.getChildAt(0);
int dp10 = dip2px(tabLayout.getContext(), 10);
for (int i = 0; i < mTabStrip.getChildCount(); i++) {
View tabView = mTabStrip.getChildAt(i);
//拿到tabView的mTextView属性 tab的字数不固定一定用反射取mTextView
Field 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左右间距为10dp 注意这里不能使用Padding 因为源码中线的宽度是根据 tabView的宽度来设置的
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tabView.getLayoutParams();
params.width = width ;
params.leftMargin = dp10;
params.rightMargin = dp10;
tabView.setLayoutParams(params);
tabView.invalidate();
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
});
}
相关推荐
Android 实践总结:自定义 TabLayout 下划线宽度
默认情况下,TabLayout 在选中的标签下方会显示一条下划线,用于突出当前选中的标签。通过自定义的 CustomTabLayout 类,我们可以灵活地控制下划线的宽度,以满足不同的设计需求。要实现自定义下划线宽度,我们需要创建一个自定义的 TabLayout,继承自 TabLayout 类。获取 TabLayout 的测量宽度,然后根据标签数量计算出自定义宽度,这里示例中设定为总宽度的 60%。上述代码中,我们设置了 TabLayout 的一些基本属性,包括宽度、高度、标签模式、标签位置等。
更改Tab下划线的宽度
通过反射更改下划线的宽度 public static void setIndicator(final TabLayout tabLayout){ tabLayout.post(new Runnable() { @Override public void run() { try { //拿到tabL
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
主要介绍了jquery实现tab选项卡切换效果,实现悬停、下方横线动画位移,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
tabs 底部小短线
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> li{ list-style: none; float: left; list-style: none; ...
机器视觉检测到底怎么做,经验分享
笔者做机器视觉检测已经有五六年了,也算是对机器视觉的检测技术有了一定的掌握。总的来说,基于机器视觉的检测技术主要包含三个部分:视觉采集模块、后台分析模块和动作决策模块。这几个分类,跟教科书上的有较大差异,很多同学觉得我在杜撰。笔者也不作反驳,因为这是笔者这些年工作经验的总结,自然区别于教科书。下面我们分开来讲这几个模块,同时会把笔者之前的论文做个推荐总结。 所有文章均可在博主的主页中找到,若无法找到,可以用搜索工具。博主的主页: https://blog.youkuaiyun.com/Aoulun 第..
MOS管热阻的测量方法
实验室内如何测试mos管热阻
TabLayout指示宽度设置
在使用系统控件时有时候默认效果往往不是需要的,有这方面需要的可以参考下。
[模型部署]-[LLM]昇腾部署Qwen3-Coder-30B-A3B-Instruct
摘要:本文介绍了在Ascend NPU上部署Qwen3-Coder-30B-A3B-Instruct大模型的实践过程。通过vLLM-Ascend框架,详细说明了环境准备(CANN 8.1、PyTorch-NPU 2.5.1等)、模型下载、容器启动及服务部署步骤,包括vLLM服务的启动参数配置和接口测试方法。测试结果显示在当前2卡910B3配置下性能表现仅为8token/s(1并发),并指出流式调用时存在无法输出usage信息的问题。该方案为Ascend平台私有化部署大模型推理服务提供了参考实现。
TabLayout设置Indicator指示线的宽度
drawable/bg_line 布局文件。
自动化Google Chrome的强大工具:chromedriver下载、安装、简单使用
本文介绍了 ChromeDriver 的基本概念和安装配置方法,重点讲解了如何通过 Selenium 实现 Chrome 浏览器的自动化测试。内容涵盖了 ChromeDriver 下载、版本匹配、依赖引入和简单的自动化测试脚本示例,帮助读者快速上手并避免常见问题。
【PySide6拓展】初识QChart图表
在 PySide6 中,QtCharts模块提供了一系列强大的类,用于创建和管理图表。QChart是这个模块的核心类,它可以帮助开发者轻松地实现数据的可视化。本篇文章将介绍如何使用 PySide6 的QtCharts模块,并通过一个简单的示例教你如何快速引入QChart。QChart折线图柱状图饼图区域图它能够直观地呈现数据,同时支持交互功能,如缩放、拖拽和工具提示等。通过引入QChart,我们可以轻松实现数据的可视化,提升应用的交互性和用户体验。结合其他QtCharts。
TabLayout设置指示器的宽度
TabLayout的指示器的高度、颜色都可以设置,但是宽度需要自己来实现 在TabLayout view初始化后,设置 /** * @date:2017/11/9/009 * @author:平sir * @desc: 设置tablayout的指示器的宽度 */ private void initView() { mTabLayout.post(new Runnable(
【系统分析师】2025年下半年真题:论文及解题思路
摘要 本文探讨软件测试技术的应用,重点关注静态测试与动态测试的比较。静态测试在不运行程序的情况下,通过审查、走查等方式分析需求、设计文档和代码,能早期发现高层次缺陷,降低修复成本。动态测试通过实际运行程序,使用单元测试、集成测试等方法验证功能性能,是发现运行时错误的唯一途径。二者在缺陷类型、介入阶段和修复成本上具有互补性,建议项目实践中结合使用以提升软件质量。
TabLayout设置下划线(Indicator)宽度
再战TabLayout之下划线宽度 18年12月再编辑。时间久远---通过评论区知道28版本源码已经不适用,并且官方已经通过属性支持了,推荐使用官方属性。 app:tabIndicatorFullWidth=false; 原文(28以下版本的解决方案) 这周的需求搞定之后,想到之前有一个小瑕疵,反正没什么事,索性较量较量 如图官方原版就是小瑕疵,反射版本就是最终 解决方案...
OpenDataLab 大模型训练数据集下载记录
大模型 训练数据集
AFL源码分析之afl-as.c详细注释
前言 afl-as注释好了,明白了是如何进行插桩的,以及插在哪里 本文主要参考Sakura大佬文章:https://eternalsakura13.com/2020/08/23/afl/ 编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ /* Copyright 2013 Google LLC All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); y
Android TabLayout下方下划线的宽度
Android TabLayout下方下划线的宽度 今天做项目遇到了这样一个问题,tablayout需要设置下划线的宽度,在网上找了半天也没找到,后来了解在源码中对tabLayout的下划线进行了设置.并没有方法可以直接设置 下面我们看一下代码: public void setIndicator(TabLayout tabs, int leftDip, int right
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
Android 设置TabLayout的下划线宽度
1.背景 由于最近需要实现一个功能,需要用到TabLayout作为标题,切换标题时,底下填充不同的frament。但是UI设计对下划线有要求,需要设置下划线的宽度和高度。最终实现的效果图如下: 2.TabLayout介绍 TabLayout大概分为三个时代,刚开始的时候: 2.1 TabLayout继承自LinearLayout,在android.widget包...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
Android开发之设置TabLayout下方下划线的宽度
由于最近项目需要,需要设置tabLayout下方下划线的长度.笔者上网找了半天,也没有找到方法.后来了解到在源码中对tabLayout的下划线进行了设置.并没有方法可以直接设置. 然后,笔者看到了某位大神的代码,利用反射修改下划线的宽度.先上代码: public void setIndicator (TabLayout tabs,int leftDip,int rightDip){
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
安卓开发中修改TabLayout下划线的宽度和高度。
在安卓开发中如果遇到点击几个按钮,切换不同的页面,在这种情况下,我们大可以使用TabLayout和ViewPager相结合的方法。有时候我们会遇到调整TabLayout下划线宽度和高度的需求。正好这段时间项目中大量使用了这个控件,在这里坐下总结。希望大家多多指教。 修改TabLayout下划线高度很简单,我们可以直接在布局中去设置。<android.support.design...
TabLayout设置TabView宽度、下划线宽度和字体大小
开发中遇到的问题:TabLayout自定义Tab宽度和下划线宽度,字体大小。 查找资料后总结如下: 一、更改tab 的字体。 使用属性app:tabTextAppearance设置。app:tabTextAppearance="@style/MyTabLayoutTextSize" -------- <!--TabLayout的字体--> <style name="MyTabLayou
[Android] TabLayout设置下划线(Indicator)宽度
在使用TabLayout的过程中,为每个标签添加一个 下划线,但发现每个下划线的 宽度 都是一样的,例如会如下显示 这样很难看,所以必须进行调整后的效果如下: 看,这样不是非常和谐啦!~~ 实现方法很简单,只需要用反射重写一些 TabLayout 就行! 我这里干脆做成了一个Util类TabLayoutUtil .java ,代码如下: package com....
设置TabLayout下划线的宽度
1.在网上看的某位大神利用反射去修改TabLayout下划线的宽度,在此记录一下。转载自 http://blog.youkuaiyun.com/sheajin/article/details/59104205 直接贴代码,亲测有效public static void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class
Android中TabLayout修改下划线指示器的宽度
项目中有个需求要用到TabLayout控件,在适配Indicator下划线指示器的宽度时,我采用的方式是: app:tabIndicatorFullWidth="false" 即宽度与item文字的宽度一致,若设为true,则Indicator 充满 item 的宽度。 后来项目UI把下划线指示器的宽度调整为某个固定值,于是查找TabLayout中设置宽度的属性,但找来找去,有tabIndicatorHeight属性,却没有tabIndicatorWidth宽度的属性,莫非...
TabLayout中下划线宽度的更改
最近由于界面的需要,更改TabLayout的下划线的宽度,然后查看Google官方的api,但是并没有提供相应的方法更改,慢慢搜索到一个方法,通过反射的方式更改,代码如下:public void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class<?> tabLayout = tabs.getClass();
587



被折叠的 条评论
为什么被折叠?



