You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Android TextView内容超出屏幕,实现自动换行及多设备适配

问题原因

你当前的TextView使用wrap_content作为宽度,且仅配置了左约束,没有限制右边界,文本长度超过屏幕可用宽度时会直接向外延伸,不会触发自动换行。模拟器和真机表现不一致是因为两者的屏幕分辨率、系统字体缩放比例存在差异,真机上文本渲染占宽更高就会触发溢出。


修复方案

按如下修改TextView配置即可:

  1. 将layout_width改为0dp(约束布局下代表匹配约束范围)
  2. 新增右约束,限制TextView的最大宽度为屏幕剩余可用宽度
  3. 可按需添加换行、省略相关的可选配置

修改后的完整代码如下:

<TextView
        android:id="@+id/movie_cast"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toEndOf="@id/movie_image"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/movie_rating_bar"
        android:layout_marginStart="8dp"
        android:layout_marginTop="4dp"
        android:layout_marginEnd="8dp"
        android:textColor="@color/black"
        android:textSize="12sp"
        <!-- 以下为可选配置,可按需添加 -->
        android:maxLines="3"
        android:ellipsize="end"
        android:breakStrategy="high_quality"
        tools:text="Cast: Ryan Reynolds,Dwayne Johnson,Gal Gadot"/>

效果说明

修改后TextView的宽度会被限制在左侧图片右边缘到屏幕右边缘之间,文本超过宽度阈值会自动换行。如果设置了maxLines,超过最大行数的内容会在末尾显示省略号,不会溢出屏幕。

你之前遇到的溢出效果如下:
效果展示图

内容的提问来源于stack exchange,提问作者Dragos Ciupe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:45:04