Android singleLine属性废弃后,无代码实现单行文本效果咨询
替代废弃的singleLine属性实现需求的方案
用以下XML属性组合就能实现你需要的效果:
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1" android:inputType="text" android:text="aaaaaaa\nbbbbbbb\ncccccc" />
属性说明:
android:maxLines="1":官方推荐替代singleLine="true"的核心属性,限制TextView仅显示一行。android:ellipsize="end":文本超出控件宽度时,在末尾显示省略号,和原效果一致。android:inputType="text":让TextView自动将文本中的换行符(\n)替换为空格,同时强制保持单行显示,完美复刻singleLine处理换行符的行为。
如果你的TextView是不可编辑状态,设置inputType="text"不会改变它的交互状态,仅调整文本处理逻辑。若需要允许横向滚动查看完整文本,可以额外添加android:scrollHorizontally="true"属性。
内容的提问来源于stack exchange,提问作者王 能
相关产品推荐
相关产品推荐

