我已将TextView设置为显示。我想在一行中显示正在执行的操作,例如:
9856243187 + 2457896123 - 214583
问题是,当输入到达TextView的边缘时 - 它会跳转到下一行。
那么,无论如何都要避免这种行为并将输入保持在一行中,即使它已经离开了屏幕?
答案 0 :(得分:54)
您应该在TextView标记中使用android:maxLines="1"
。
android:singleLine="true"
已弃用。
答案 1 :(得分:11)
android:singleLine="true"
是答案
更新:
自API级别3以来, android:singleLine
属性已被弃用,您可以使用
android:maxLines="1"
答案 2 :(得分:7)
对于看到此问题的新用户,请使用android:singleLine="true"
。忽略弃用警告。
根据this bug report,设置android:maxLines="1"
可能会导致您的应用在android:ellipsize
中设置某些特定值时崩溃。显然它会影响运行4.1 Jellybean到6.0.1 Marshmallow的大多数Android设备(固定在7.0牛轧糖中)。根据您的设备,您的里程可能会有所不同。但是,如果您作为开发人员针对各种设备,最好使用android:singleLine="true"
以防止崩溃。
答案 3 :(得分:4)
在Textview中添加代码
android:singleLine="true"
答案 4 :(得分:1)
将TextView设置为singeline。
查看this
答案 5 :(得分:1)
谢谢各位单行做了技巧,但我也不得不删除省略号:
android:ellipsize="none"
答案 6 :(得分:1)
如果要手动滚动单行内容,则应在HorizontalScrollView
中使用TextView<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:paddingTop="16dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Single line text view that scrolls automatically if the text is too long to fit in the widget" />
</HorizontalScrollView>
答案 7 :(得分:1)
此代码对我有用:
android:singleLine="true"
答案 8 :(得分:0)
你能试试这个吗?
<TextView
android:text="Single line text view that scrolls automatically if the text is too long to fit in the widget"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
希望这会对你有所帮助。