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

时间:2015-08-01 12:51:40

标签: android textview

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

9856243187 + 2457896123 - 214583

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

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

9 个答案:

答案 0 :(得分:54)

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

答案 1 :(得分:11)

android:singleLine="true"

是答案

更新:

自API级别3以来,

android:singleLine属性已被弃用,您可以使用

android:maxLines="1"

答案 2 :(得分:7)

TL;博士

对于看到此问题的新用户,请使用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)

如果要手动滚动单行内容,则应在Horizo​​ntalScrollView

中使用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"/>

希望这会对你有所帮助。