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

如何让AppCompatEditText失焦时末尾显示省略号?已设属性仍无效

解决AppCompatEditText文本截断省略号不显示的问题

针对你的情况,可尝试以下几个调整:

  • 移除废弃属性android:editable="false":该属性在API 15已被废弃,你已经设置了android:enabled="false",足够让EditText不可编辑,保留废弃属性可能干扰排版逻辑。
  • 调整宽度约束,确保控件有明确的可用宽度:当前设置android:layout_width="190dp"同时绑定end_toEndOf="parent",若父布局宽度不足以容纳该固定值,控件实际宽度会被挤压;若父布局过宽,固定宽度可能无法触发超长文本截断。建议将android:layout_width改为0dp,通过start_toEndOf和end_toEndOf的约束控制实际宽度,确保文本有足够空间触发截断逻辑。
  • 显式设置文本换行策略:在AppCompatEditText中添加android:breakStrategy="simple",避免样式中可能存在的换行策略干扰单行截断逻辑。
  • 检查样式冲突:确认@style/text_sub_heading_16_medium中没有设置android:lines、android:minLines等覆盖单行限制的属性,保证自定义属性与样式设置无冲突。

修改后的示例代码:

<androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/tvCheckListName"
    style="@style/text_sub_heading_16_medium"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@color/transparent"
    android:clickable="false"
    android:enabled="false"
    android:focusableInTouchMode="false"
    android:focusable="false"
    android:ellipsize="end"
    android:maxLines="1"
    android:cursorVisible="false"
    android:maxLength="120"
    android:text="jsdkfhdjsjfkhskdjafhjlsdfhjkasdfhjasdklfhldksahfkjldasfjkdsahf"
    android:imeOptions="actionDone"
    android:paddingHorizontal="@dimen/_6sdp"
    android:breakStrategy="simple"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.063"
    app:layout_constraintStart_toEndOf="@+id/tvSelector"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

内容的提问来源于stack exchange,提问作者Ayaz Muhammad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 20:36:01