[Android]文本多的时候让TextView的字体自动变小

news/2025/2/21 23:41:36

为了让 TextView 的字体在文本过多时自动变小,以显示全部文本,可以使用 Android 的 autoSizeTextType 属性。该属性允许 TextView 在空间不足时自动调整字体大小。

在 XML 中,可以这样设置:

<TextView
    android:id="@+id/tv_1_4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:maxLines="1"
    android:text="轮 18"
    android:textColor="@color/color_title"
    android:textSize="12sp"
    android:autoSizeTextType="uniform"
    android:autoSizeMinTextSize="8sp"
    android:autoSizeMaxTextSize="12sp"
    android:autoSizeStepGranularity="1sp" />

解释

  • android:autoSizeTextType="uniform": 启用自动调整字体大小功能。

  • android:autoSizeMinTextSize="8sp": 设置文本的最小字体大小。可以根据需要调整此值。

  • android:autoSizeMaxTextSize="12sp": 设置文本的最大字体大小。与 android:textSize 保持一致。

  • android:autoSizeStepGranularity="1sp": 设置字体大小调整的步长。这个属性决定了字体大小调整的粒度。

注意事项

  1. 兼容性:autoSizeTextType 属性在 API 26(Android 8.0 Oreo)及以上版本中可用。如果需要兼容低版本,可以使用支持库中的 AppCompatTextView。

  2. 支持库中的 AppCompatTextView: 如果需要支持较低版本的 Android,可以在布局中使用 AppCompatTextView,并确保在项目中引入了 androidx.appcompat:appcompat 库。

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/tv_1_4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:maxLines="1"
    android:text="轮 18"
    android:textColor="@color/color_title"
    android:textSize="12sp"
    app:autoSizeTextType="uniform"
    app:autoSizeMinTextSize="8sp"
    app:autoSizeMaxTextSize="12sp"
    app:autoSizeStepGranularity="1sp" />


http://www.niftyadmin.cn/n/5861422.html

相关文章

使用 Spring Boot 和 Canal 实现 MySQL 数据库同步

文章目录 前言一、背景二、Canal 简介三、主库数据库配置1.主库配置2.创建 Canal 用户并授予权限 四.配置 Canal Server1.Canal Server 配置文件2.启动 Canal Server 五.开发 Spring Boot 客户端1. 引入依赖2. 配置 Canal 客户端3. 实现数据同步逻辑 六.启动并测试七.注意事项八…

uniapp 使用unplugin-auto-import 后, vue文件报红问题

现象 vite.config.js中已配置好unplugin-auto-import 解决方法 让你的auto-imports.d.ts文件, 处于打开状态 尼…玛…,的 这谁敢信 重新打开编译器后还会有这个问题 关掉auto-imports.d.ts文件, 重新打开 吐槽 我真$%$$#$%^&^%&^%^服了 各种改vite-config.js和ts…

使用Geotools读取DEM地形数据实战-以湖南省30米数据为例

目录 前言 一、DEM地形数据介绍 1、DEM数据简介 2、DEM应用领域 3、QGIS中读取DEM数据 二、GeoTools解析地形 1、Maven中依赖引用 2、获取数据基本信息 三、总结 前言 随着全球数字化进程的加速&#xff0c;各类地理空间数据呈爆炸式增长&#xff0c;DEM 数据作为其中的…

前后端项目部署服务器(传统部署和Docker部署)

内外网 开发环境连外网&#xff08;8.140.26.187&#xff09;&#xff0c;测试/生产环境连内网&#xff08;172.20.59.17&#xff09; 内外网地址不同&#xff0c;但指定的库是同一个 内网IP地址范围包括&#xff1a; 10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.2551…

【VUE面试】Vue2和Vue3的diff算法中,key的作用分别是什么?

在 Vue2 和 Vue3 的 Diff 算法里&#xff0c;key 都起着关键作用&#xff0c;但由于两个版本的 Diff 算法实现有所不同&#xff0c;key 的具体作用和使用场景也存在一些差异。以下详细介绍&#xff1a; Vue2 中 key 的作用 1. 辅助节点复用 在 Vue2 的 Diff 算法中&#xff0…

Spring IoC DI

一、IoC详解 控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09;是一种软件设计原则&#xff0c;其核心思想是将程序中的对象创建、依赖管理和生命周期控制的权力从应用程序代码转移到外部容器或框架&#xff0c;从而降低组件间的耦合度&#xff0c;提升代码…

ok113i平台——多媒体播放器适配

1. 视频播放支持 1.1 在Linux平台交叉编译ffmpeg动态库&#xff0c;详情查看《ok113i平台——交叉编译音视频动态库》 提取如下动态库&#xff1a; libavcodec.so.58.134.100 libavdevice.so.58.13.100 libavfilter.so.7.110.100 libavformat.so.58.76.100 libavutil.so.56.…

AI赋能Web3.0前端开发:效率革命与ScriptEcho的实践

Web3.0浪潮席卷全球&#xff0c;前端开发作为用户体验的关键环节&#xff0c;面临着前所未有的挑战。如何高效、低成本地构建复杂的去中心化应用&#xff08;DApps&#xff09;成为行业关注的焦点。幸运的是&#xff0c;AI写代码工具的兴起为Web3.0前端开发带来了新的曙光&…