在android中自动水平滚动TextView

时间:2014-04-28 22:43:51

标签: java android xml

我希望我的消息字符串显示在屏幕上,如果我的消息足够大,可以自动滚动显示在屏幕上。

我在我的活动档案中使用了这个

TextView textview = (TextView) findViewById(R.id.View);

    textview.setTextSize(15);
    textview.setMovementMethod(new ScrollingMovementMethod());
    textview.setText(message);

这是我的xml文件

    <TextView
    android:id="@+id/View"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    android:gravity="bottom"
    android:scrollHorizontally="true" />

但我没有得到所需的输出。我只是收到屏幕上可能出现的消息,其余信息没有显示。

3 个答案:

答案 0 :(得分:0)

如果您只有一个滚动文本视图,并且它不在ListView条目中,这应该可以工作。

android:focusable="true"
android:focusableInTouchMode="true" 
android:singleLine="true" 
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"

答案 1 :(得分:0)

您错过了将TextView设置为focusable

 android:focusable="true"
 android:focusableInTouchMode="true"

这应该有效

 <TextView
    android:id="@+id/textScroll"
    android:text= "hello_world test scroll hello scroll"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true"/>
代码中不需要

setMovementMethod

答案 2 :(得分:0)

试试这个,可能会帮助你。

  <TextView
            android:id="@+id/Lyrics_textView2"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:clickable="true"
            android:onClick="onLyricsClick" 
            android:smoothScrollbar="true"
            android:scrollbars="vertical"
             android:maxLines="6"
            android:ellipsize="none"
            android:scrollHorizontally="false"
            android:singleLine="false"
            />