如何设置TextView以在Android中的一行中显示文本

Ton*_*Joe 24 android textview

我已将TextView设置为显示.我想在一行中显示正在执行的操作,例如:

9856243187 + 2457896123 - 214583
Run Code Online (Sandbox Code Playgroud)

问题是,当输入到达TextView的边缘时 - 它会跳转到下一行.

那么,无论如何都要避免这种行为,并将输入保持在一行中,即使它离开了屏幕?

Cop*_*cel 62

您应该android:maxLines="1"在TextView标记中使用. android:singleLine="true"弃用.


Rav*_*avi 12

android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)

是答案

更新:

android:singleLine 自API Level 3以来,属性已被弃用,您可以使用

android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)

  • android:singleLine已弃用 (2认同)

Jon*_*ise 8

tl;博士:

对于看到此问题的新用户,请使用android:singleLine="true".忽略弃用警告.

说明

根据此错误报告,设置android:maxLines="1"可能会导致应用程序在设置某些特定值时崩溃android:ellipsize.显然它会影响运行4.1 Jellybean到6.0.1 Marshmallow的大多数Android设备(固定在7.0 Nougat中).根据您的设备,您的里程可能会有所不同.但是,如果您作为开发人员针对各种设备,最好使用android:singleLine="true"以防止崩溃.

  • 只要您将最低SDK设置为低于24,这始终是一个问题。根据[2018年2月5日的Android版本分布表](https://developer.android.com/about/dashboards/index.html),使用Google Play的设备的70.4%尚未更新为Nougat(SDK24 ),因此对于许多人来说,提高最低SDK并不是可行的选择。 (2认同)

sas*_*mar 5

在你的 Textview 中添加代码

android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)


Ton*_*Joe 5

谢谢大家,单行完成了这些技巧,但我还必须删除省略号:

android:ellipsize="none"
Run Code Online (Sandbox Code Playgroud)