如何让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
相关产品推荐
相关产品推荐

