博客
关于我
android自定义tab下划线变大,官方TabLayout下划线跟随字体长度变化(SDK 28以上)...
阅读量:802 次
发布时间:2023-04-17

本文共 852 字,大约阅读时间需要 2 分钟。

Android TabLayout在SDK28引入了一个重要的新特性,即下划线可以根据字体长度自动调整。这大大简化了实现场景,无需反射或引入第三方控件。

下划线自适应特性解析

在Android系统中,TabLayout默认提供了下划线的显示功能。随着SDK版本的升级,特别是SDK28,TabLayout的下划线实现方式发生了重要变化。具体来说,开发者可以通过属性设置来控制下划线的显示方式。

关键属性配置

以下是实现自适应下划线的关键属性配置:

  • id

    android:id="@+id/tabPassengerFlow"

  • 布局属性

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

  • 背景颜色

    android:background="@color/color_FFFFFF"

  • 指示器颜色

    app:tabIndicatorColor="@color/color_207DFC"

  • 指示器充满属性

    app:tabIndicatorFullWidth="false"

  • 选中字体颜色

    app:tabSelectedTextColor="@color/color_207DFC"

  • 字体颜色

    app:tabTextColor="@color/color_333333"

  • 优势展示

    相比于传统实现方式,这种自适应下划线的实现具有显著优势:

    • 简化开发流程:无需反射或引入第三方库,直接通过属性配置即可实现。
    • 灵活性增强:下划线长度自动根据字体内容调整,适配不同字体大小需求。
    • 性能优化:避免了复杂操作,提升应用性能和用户体验。

    实现示例

    以下是一个典型的TabLayout布局示例:

    总结

    Android SDK28对TabLayout的优化,使得自适应下划线实现变得更加简便。开发者只需通过属性配置即可实现灵活的下划线显示效果,不再需要依赖反射或第三方库。这一改进不仅简化了开发流程,也提升了应用的用户体验和性能表现。

    转载地址:http://uogfk.baihongyu.com/

    你可能感兴趣的文章
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    NI笔试——大数加法
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    Nmap扫描教程之Nmap基础知识
    查看>>
    Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
    查看>>
    NMAP网络扫描工具的安装与使用
    查看>>
    NN&DL4.1 Deep L-layer neural network简介
    查看>>
    NN&DL4.3 Getting your matrix dimensions right
    查看>>
    NN&DL4.8 What does this have to do with the brain?
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No module named cv2
    查看>>