5

在我的应用程序中,我必须实现一个自动滚动的文本视图,我引用了这个链接。

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

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

现在我希望这个数组显示在那个文本视图中(它将自动滚动)。

我想要这样:

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

这是我的文本视图(滚动):

 <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 ..请帮助我。

4

3 回答 3

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 我中断滚动(这样的自动滚动而不被用户中断)。

于 2012-12-20T06:58:23.673 回答
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());
于 2012-12-20T07:00:39.880 回答
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" />
于 2012-12-20T07:06:42.463 回答