Android 开发问题:TextView 内容超过宽度时,默认不会换行

  • 在 Android 开发,TextView 内容超过宽度时,默认不会换行,如下例
xml 复制代码
<TextView
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="这是一段很长的文本,这是一段很长的文本,这是一段很长的文本" />
处理策略
  1. 使用 singleLine 属性,虽然已废弃,但有效
xml 复制代码
<TextView
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:text="这是一段很长的文本,这是一段很长的文本,这是一段很长的文本" />
复制代码
# singleLine 属性已废弃

@deprecated This attribute is deprecated.
Use maxLines instead to change the layout of a static text,
and use the textMultiLine flag in the inputType attribute instead for editable text views
(if both singleLine and inputType are supplied,
the inputType flags will override the value of singleLine).
  1. 使用 maxLines 属性
xml 复制代码
<TextView
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:text="这是一段很长的文本,这是一段很长的文本,这是一段很长的文本" />
  1. 使用 maxLines 属性结合 ellipsize 属性添加省略号
xml 复制代码
<TextView
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:ellipsize="end"
    android:maxLines="1"
    android:text="这是一段很长的文本,这是一段很长的文本,这是一段很长的文本" />
  • ellipsize 属性的属性值如下
属性值 说明
end 在结尾显示省略号
start 在开头显示省略号
middle 在中间显示省略号
  1. 使用跑马灯效果
xml 复制代码
<TextView
    android:id="@+id/tv_test"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="这是一段很长的文本,这是一段很长的文本,这是一段很长的文本" />
java 复制代码
TextView tvTest = findViewById(R.id.tv_test);

tvTest.setSelected(true);
相关推荐
破茧蝴蝶8 小时前
Python分布式爬虫完整教程
开发语言·python
狗凯之家源码网8 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
远离UE48 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience8 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
朱涛的自习室9 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
栈帧之外9 小时前
【C++】STL之set
开发语言·c++
catchadmin10 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
开发语言·php
jimy111 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
狗凯之家源码网11 小时前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php
dishugj12 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言