在android中滚动Textview

时间:2012-12-20 06:55:31

标签: android textview

在我的应用程序中,我必须实现自动滚动的textview,我提到了this链接。

现在我有一个滚动的tetxview.But根据我的要求是我有一个字符串数组(我已经解析,我有一些字符串)..考虑数组可能

 string[] array=new string{"fgsdfd","gdfghdjhsd","gdfjhsgfhds"};

现在我希望这个数组显示在该textview中(将自动滚动)。

我想这样:

 fgsdfd   gdfghdjhsd    gdfjhsgfhds------------------>this will scroll automatically

这是我的textview(滚动):

 <TextView
    android:text="Really Long Scrolling Text Goes Here.... ..... ............ .... ...."
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:id="@+id/TextView03"
    android:padding="5dip" 
    android:layout_width="wrap_content" 
    android:textColor="#000000"
    android:layout_height="wrap_content" />

如何将字符串数组设置为tetxview ..请帮助我。

3 个答案:

答案 0 :(得分:3)

您可以将所有字符串合并到StringBuilder的一个字符串中,并将其应用于TextView

我通过包装textview(以及其他一些视图)来实现我自己的TextView滚动

private Runnable scrollRight = new Runnable()
{

    @Override
    public void run()
    {
                    // can control scrolling speed in on tick
        topScroll.smoothScrollBy(1, 0);
    }
};

并在新线程中调用:

while (!interruptScroll){
    try{
        Thread.sleep(50); // control ticking speed
    }
    catch (InterruptedException e){
        e.printStackTrace();
    }
    topScroll.post(scrollRight);
}

并通过手动滚动scrollView i中断滚动(这样的自动滚动而不会被用户中断)。

答案 1 :(得分:1)

尝试使用StringBuilder。

String[] array = { "fgsdfd", "gdfghdjhsd", "gdfjhsgfhds" };
StringBuilder sb = new StringBuilder();

for (int i = 0; i < array.length; i++) {
    sb.append(array[i]);
}
txtView.setText(sb.toString());

答案 2 :(得分:0)

尝试这个,

<TextView
android:text="Really Long Scrolling Text Goes Here.... ..... ............ .... ...."
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollbars="horizontal"
android:id="@+id/TextView03"
android:padding="5dip" 
android:layout_width="wrap_content" 
android:textColor="#000000"
android:layout_height="wrap_content" />