在TextView中滚动单行长文本

5
请看下面的简单代码。
 <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="John Jonathan Samuwell Abbruzzi"
        android:singleLine="true"
        android:scrollHorizontally="true"
        android:textSize="50sp" />

TextView 中的文本比屏幕宽度要大,但应该只显示在一行中。我已经添加了 android:scrollHorizontally="true" 属性,以便用户可以滚动查看其余的文本,但是它并没有起作用。我做错了什么?

2个回答

6
把你的文本视图放在HorizontalScrollView里面,它可以正常工作,我已经测试过了。
<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
   <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="John Jonathan Samuwell Abbruzzi"
        android:singleLine="true"
        android:scrollHorizontally="true"
        android:textSize="50sp" />
</HorizontalScrollView>

2
您需要使用单行的HorizontalScrollView。如果您希望为多个视图添加水平滚动条,则可以在HorizontalScrollView中创建布局并进行完整滚动。 HorizontalScrollView只能容纳一个直接子元素。
<HorizontalScrollView
        android:id="@+id/horizontalScrollView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="40dp" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="91dp"
                android:singleLine="true"
                android:text="my view" />

    </HorizontalScrollView>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接