Android中TextView是最常用的的控件之一,主要用于文本的展示。

文本展示中,文本长度的控制还是挺需要注意的地方,下文将就此进行一些实验和分析。

TextView有几种控制文本长度的方法

android:maxWidth 控制View的长度来控制文本长度

android:maxLength 控制字符的个数来控制文本长度

android:maxEms 控制字符的长度来控制文本长度

以下使用简单的结构来分别进行验证

android:maxWidth + android:maxLines

这是比较简单粗暴的方法,通过长度和行数的设置,直接截断输入的文本。文本的字体大小改变后,可以展示的文字个数也会随之改变。支持省略号的缩进(android:ellipsize属性)。

PS:maxline = 1 与singleLine = true效果相同,不过魅族部分机型不支持maxLine,所以可以用singleLine更好些。

图1

android:maxLength

maxLength用于限制输入字符的个数,先对文本进行截取,再填入控件,所以不支持省略号的缩进。使用maxLength,汉字,英文字母,标点以及空格都占一位。如下图所示,为maxLength为10的效果:

图2

图3

android:maxEms

maxEms支持省略号的缩进。

Ems比较像一种单位或者权重,比如maxEms设为10时,大概可以展示20个英文字符,10个中文字符(中英文不同的标点符号权重不同,比如英文逗号可以展示将近50个,但中文逗号只能展示10个,而英文的*号可以展示20个)。但实际上也并非一一对应的,下文为maxEms的具体定义,可知其实并不好控制:

maxEms=”10” 限制TextView的最大宽度为10个大写M的字符宽度。em是一个印刷排版的单位,表示字宽的单位。 em字面意思为:equal M(和M字符一致的宽度为一个单位)简称em。ems是em的复数表达。

android textview得到文字的长度,Android TextView 文字长度控制相关推荐

  1. android文字自动滚动,Android TextView文字横向自动滚动(跑马灯)

    TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true" 2.设置可滚到,或显示样式:android:elli ...

  2. android studio app字体大小设置,Android Studio App设置TextView文字内容大小颜色

    设置TextView文字内容大小颜色 1.第一种方法在activity_main.xml李设置,Java文件不用改: android:text="这里是文字" android:te ...

  3. android 微信朋友圈 全功能,Android仿微信朋友圈文字展开全文功能 Android自定义TextView仿微信朋友圈文字展开全文功能...

    Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...

  4. android 文字滚动组件,Android textview 跑马灯文字滚动效果

    设置如下TextView控件文件的XML: android:id="@+id/textview" android:layout_width="match_parent&q ...

  5. Android TextView设置.9图片为背景,文字被遮挡

    记录一下,昨天因为给textview添加.9图片为背景,文字被遮挡住了 文字被遮住是因为设置.9图 会导致之前设置的padding失效,textview在xml中设置padding或者在代码中设置pa ...

  6. android 文字添加阴影,android中给TextView或许Button的文字添加阴影效果

    android中给TextView或者Button的文字添加阴影效果 1在代码中添加文字阴影 TextView 有一个方法 /** * Gives the text a shadow of the s ...

  7. 文字策略游戏 android studio(学习intent,textview,等等)

    闲来无事,写了一个类似于买房记的文字策略游戏 主要包含开始页面和游戏页面 activity_start.xml <?xml version="1.0" encoding=&q ...

  8. android 微信朋友圈 全功能,Android自定义TextView仿微信朋友圈文字展开全文功能

    Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...

  9. android基础知识学习(1) TextView属性大全+单行显示长文本

    android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all)  androi ...

  10. Android基础入门教程——2.3.1 TextView(文本框)详解

    Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...

最新文章

  1. 不是我放弃AI,是AI放弃了我!!
  2. 搭建一个jupyter站点做数据分析吧
  3. Java 三大特性之——继承
  4. 【LeetCode笔记】剑指 Offer 47. 礼物的最大价值(Java、动态规划)
  5. C# 连接 Exchange 发送邮件
  6. 我们是已经谈不起恋爱的80后
  7. Python使用wxpython制作简单文本编辑器
  8. 波司登杯2013微软office应用创意大赛烟台大学校园赛参赛历程
  9. PCB设计经验(1)
  10. 科学计数法(PAT)
  11. Ricochet —— 基于 Tor 的加密即时通信工具
  12. 麒麟V10服务器SP2版本离线安装MYSQL8.0
  13. Vue处理后台返回List集合带有Object对象的数据
  14. mysql豹_MySQL创建数据库与创建用户以及授权 小帅豹
  15. Unity3d下载大型文件并显示进度
  16. iqooneo3 如何不用vivo账号下载外部应用_iQOO Neo3上手体验:软硬件结合的极致游戏体验,真香旗舰无疑...
  17. 用VScode编写LaTex-最新教程2022/4/17
  18. matlab handles结构体
  19. 程序是如何跑起来的?
  20. vue中读取本地文件内容

热门文章

  1. java做手机短信验证码平台_java实现短信验证码功能
  2. vr视频制作软件哪个好?Nibiru creator是企业的标配
  3. LeetCode罗马数字转整数
  4. 声音存储空间计算公式_音频数据存储空间计算 音频存储空间计算公式
  5. 牛客小白月赛17 - J - 计数(组合数学隔板法)
  6. 京东宙斯php,京东联盟API申请
  7. HTML链接和锚点学习---第四天
  8. 杂记(git标签,echo命令,ps命令,gdb调试)
  9. mysql 枚举索引_MySQL 索引总结
  10. 微信服务号新手入门讲解、第二章(创建菜单)