tablayout下划线宽度

安卓Android TabLayout + ViewPager 页面切换, 并修改TabLayout下划线宽度 这次依然是介绍一个功能类:TabPagerManager 这个类封装了TabLayout 和 ViewPager 只需要非常简单的 3~4行代码 就搞定了 TabLayout+ViewPager 适配等功能的开发 这里还是先给出GitHub开源地址:点这里 下面是详细描述~ 准备工作: 准备工作当然是先把TabLayout和ViewPager初始化啦~ 一般都是: tabLayo... 阅读详情
/**
 * 设置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缺陷,不同方式带你改变Tab下划线宽度【实践总结】 这就是绘制的选中Tab的Indicator,高度是,宽是mIndicatorRight - mIndicatorLeft。那么者两个值是从哪儿来的呢?在方法中:// 选中的TabView// left 和right 的值} else {// 设置mIndicatorLeft和mIndicatorRightif (left! 阅读详情

相关推荐

Android 实践总结:自定义 TabLayout 下划线宽度

默认情况下,TabLayout 在选中的标签下方会显示一条下划线,用于突出当前选中的标签。通过自定义的 CustomTabLayout 类,我们可以灵活地控制下划线的宽度,以满足不同的设计需求。要实现自定义下划线宽度,我们需要创建一个自定义的 TabLayout,继承自 TabLayout 类。获取 TabLayout 的测量宽度,然后根据标签数量计算出自定义宽度,这里示例中设定为总宽度的 60%。上述代码中,我们设置了 TabLayout 的一些基本属性,包括宽度、高度、标签模式、标签位置等。

Byte_O_O的博客 587

更改Tab下划线的宽度

通过反射更改下划线的宽度 public static void setIndicator(final TabLayout tabLayout){ tabLayout.post(new Runnable() { @Override public void run() { try { //拿到tabL

wan767912626的博客 3748

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; ...

panhuanqin的博客 678

机器视觉检测到底怎么做,经验分享

笔者做机器视觉检测已经有五六年了,也算是对机器视觉的检测技术有了一定的掌握。总的来说,基于机器视觉的检测技术主要包含三个部分:视觉采集模块、后台分析模块和动作决策模块。这几个分类,跟教科书上的有较大差异,很多同学觉得我在杜撰。笔者也不作反驳,因为这是笔者这些年工作经验的总结,自然区别于教科书。下面我们分开来讲这几个模块,同时会把笔者之前的论文做个推荐总结。 所有文章均可在博主的主页中找到,若无法找到,可以用搜索工具。博主的主页: https://blog.youkuaiyun.com/Aoulun 第..

Aoulun的博客 8677

MOS管热阻的测量方法

实验室内如何测试mos管热阻

weixin_43492562的博客 4092

TabLayout指示宽度设置

在使用系统控件时有时候默认效果往往不是需要的,有这方面需要的可以参考下。

qq_29186033的博客 707

[模型部署]-[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平台私有化部署大模型推理服务提供了参考实现。

1671

TabLayout设置Indicator指示线的宽度

drawable/bg_line 布局文件。

yang_cai_bin的专栏 592

自动化Google Chrome的强大工具:chromedriver下载、安装、简单使用

本文介绍了 ChromeDriver 的基本概念和安装配置方法,重点讲解了如何通过 Selenium 实现 Chrome 浏览器的自动化测试。内容涵盖了 ChromeDriver 下载、版本匹配、依赖引入和简单的自动化测试脚本示例,帮助读者快速上手并避免常见问题。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 88万+

【PySide6拓展】初识QChart图表

在 PySide6 中,QtCharts模块提供了一系列强大的类,用于创建和管理图表。QChart是这个模块的核心类,它可以帮助开发者轻松地实现数据的可视化。本篇文章将介绍如何使用 PySide6 的QtCharts模块,并通过一个简单的示例教你如何快速引入QChart。QChart折线图柱状图饼图区域图它能够直观地呈现数据,同时支持交互功能,如缩放、拖拽和工具提示等。通过引入QChart,我们可以轻松实现数据的可视化,提升应用的交互性和用户体验。结合其他QtCharts。

m0_62599305的博客 822

TabLayout设置指示器的宽度

TabLayout的指示器的高度、颜色都可以设置,但是宽度需要自己来实现 在TabLayout view初始化后,设置 /** * @date:2017/11/9/009 * @author:平sir * @desc: 设置tablayout的指示器的宽度 */ private void initView() { mTabLayout.post(new Runnable(

平_sir的博客 2889

【系统分析师】2025年下半年真题:论文及解题思路

摘要 本文探讨软件测试技术的应用,重点关注静态测试与动态测试的比较。静态测试在不运行程序的情况下,通过审查、走查等方式分析需求、设计文档和代码,能早期发现高层次缺陷,降低修复成本。动态测试通过实际运行程序,使用单元测试、集成测试等方法验证功能性能,是发现运行时错误的唯一途径。二者在缺陷类型、介入阶段和修复成本上具有互补性,建议项目实践中结合使用以提升软件质量。

数据知道的博客 5788

TabLayout设置下划线(Indicator)宽度

再战TabLayout之下划线宽度 18年12月再编辑。时间久远---通过评论区知道28版本源码已经不适用,并且官方已经通过属性支持了,推荐使用官方属性。 app:tabIndicatorFullWidth=false; 原文(28以下版本的解决方案) 这周的需求搞定之后,想到之前有一个小瑕疵,反正没什么事,索性较量较量 如图官方原版就是小瑕疵,反射版本就是最终 解决方案...

玩火猴子 5万+

OpenDataLab 大模型训练数据集下载记录

大模型 训练数据集

u013558123的博客 3344

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

hollk’s blog 2172

Android TabLayout下方下划线的宽度

Android  TabLayout下方下划线的宽度      今天做项目遇到了这样一个问题,tablayout需要设置下划线的宽度,在网上找了半天也没找到,后来了解在源码中对tabLayout的下划线进行了设置.并没有方法可以直接设置 下面我们看一下代码: public void setIndicator(TabLayout tabs, int leftDip, int right

Mr_liu的博客 1683

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android 设置TabLayout的下划线宽度

1.背景 由于最近需要实现一个功能,需要用到TabLayout作为标题,切换标题时,底下填充不同的frament。但是UI设计对下划线有要求,需要设置下划线的宽度和高度。最终实现的效果图如下: 2.TabLayout介绍 TabLayout大概分为三个时代,刚开始的时候: 2.1 TabLayout继承自LinearLayout,在android.widget包...

HeartCircle的博客 1614

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){

SheaJIn的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

安卓开发中修改TabLayout下划线的宽度和高度。

在安卓开发中如果遇到点击几个按钮,切换不同的页面,在这种情况下,我们大可以使用TabLayout和ViewPager相结合的方法。有时候我们会遇到调整TabLayout下划线宽度和高度的需求。正好这段时间项目中大量使用了这个控件,在这里坐下总结。希望大家多多指教。 修改TabLayout下划线高度很简单,我们可以直接在布局中去设置。&lt;android.support.design...

LIUXINGUANG2013的博客 7588

TabLayout设置TabView宽度、下划线宽度和字体大小

开发中遇到的问题:TabLayout自定义Tab宽度和下划线宽度,字体大小。 查找资料后总结如下: 一、更改tab 的字体。 使用属性app:tabTextAppearance设置。app:tabTextAppearance="@style/MyTabLayoutTextSize" -------- <!--TabLayout的字体--> <style name="MyTabLayou

qq_35473951的博客 8000

[Android] TabLayout设置下划线(Indicator)宽度

在使用TabLayout的过程中,为每个标签添加一个 下划线,但发现每个下划线的 宽度 都是一样的,例如会如下显示 这样很难看,所以必须进行调整后的效果如下: 看,这样不是非常和谐啦!~~ 实现方法很简单,只需要用反射重写一些 TabLayout 就行! 我这里干脆做成了一个Util类TabLayoutUtil .java ,代码如下: package com....

weixin_30670151的博客 686

设置TabLayout下划线的宽度

1.在网上看的某位大神利用反射去修改TabLayout下划线的宽度,在此记录一下。转载自 http://blog.youkuaiyun.com/sheajin/article/details/59104205  直接贴代码,亲测有效public static void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class

烈火苍穹的博客 2276

Android中TabLayout修改下划线指示器的宽度

项目中有个需求要用到TabLayout控件,在适配Indicator下划线指示器的宽度时,我采用的方式是: app:tabIndicatorFullWidth="false" 即宽度与item文字的宽度一致,若设为true,则Indicator 充满 item 的宽度。 后来项目UI把下划线指示器的宽度调整为某个固定值,于是查找TabLayout中设置宽度的属性,但找来找去,有tabIndicatorHeight属性,却没有tabIndicatorWidth宽度的属性,莫非...

mahongy的博客 1729

TabLayout中下划线宽度的更改

最近由于界面的需要,更改TabLayout的下划线的宽度,然后查看Google官方的api,但是并没有提供相应的方法更改,慢慢搜索到一个方法,通过反射的方式更改,代码如下:public void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class<?> tabLayout = tabs.getClass();

905
上一篇: 隐藏软键盘
下一篇: 图片压缩
Android_Code
博客等级 码龄8年 5粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值