在动态创建的textview上设置Marquee?

时间:2013-08-21 10:06:22

标签: android

我通过在xml中提供属性来创建了marquee textview。但是当我在运行时textview上创建with the same property时,文本不会滚动。我写了下面的代码。有人遇到过这个问题吗?

 TextView textView = new TextView(this);
 textView.setText("This is marquee text it should scroll");
 textView.setEllipsize(TruncateAt.MARQUEE);
 textView.setFocusableInTouchMode(true);
 textView.setFreezesText(true);
 textView.setSingleLine(true);
 textView.setMarqueeRepeatLimit(-1);
 textView.setFocusable(true);
 textView.setSelected(true);

3 个答案:

答案 0 :(得分:1)

我在我的Galaxy Nexus(使用Jelly Bean)上测试了你的代码,它运行正常。您能否提供有关测试设置的更多详细信息?

啊,我添加的一件事是布局参数,以确保视图的宽度比文本本身短。

    textView.setLayoutParams(new ViewGroup.LayoutParams(100,
    ViewGroup.LayoutParams.MATCH_PARENT));

答案 1 :(得分:1)

    Animation mAnimation = new TranslateAnimation(START_POS_X, END_POS_X, 
                START_POS_Y, END_POS_Y);
mAnimation.setDuration(TICKER_DURATION); 
mAnimation.setRepeatMode(Animation.RESTART);
mAnimation.setRepeatCount(Animation.INFINITE);

        TextView tvTitulo = new TextView(this);
        tvTitulo.setText("Some loooooooooooooooooooooong text");
        tvTitulo.setAnimation(mAnimation);


jUST CHECK this code .....

答案 2 :(得分:0)

添加此内容,

textView.setHorizontallyScrolling(true);

试试这个,它可能会有所帮助

android:maxLines = "AN_INTEGER"
android:scrollbars = "vertical"

//........