0

如果我的文本太长,我想针对这种情况实现自动水平滚动。它在活动为空而没有任何关注的情况下起作用。但是当我尝试在带有计时器的活动中实现这一点时,它不起作用。我在没有计时器的情况下对其进行了测试,它可以工作。我尝试使用setSelected(true),它也不起作用。有什么办法可以解决这个问题,我需要带有计时器的滚动功能。任何意见和答案将不胜感激。

ScrollTextView.class

public class ScrollingTextView extends TextView{

public ScrollingTextView(Context context, AttributeSet attrs,
        int defStyle){
    super(context, attrs, defStyle);
}

public ScrollingTextView(Context context, AttributeSet attrs){
    super(context, attrs);
}

public ScrollingTextView(Context context){
    super(context);
}

@Override
protected void onFocusChanged(boolean focused, int direction,
        Rect previouslyFocusedRect){
    if(focused){
        super.onFocusChanged(focused, direction, previouslyFocusedRect);
    }
}

@Override
public void onWindowFocusChanged(boolean focused){
    if(focused){
        super.onWindowFocusChanged(focused);
    }
}

@Override
public boolean isFocused(){
    return true;
}
}

文本视图

<com.android.app.ScrollingTextView
    android:id="@+id/display_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:paddingLeft="10dp"
    android:paddingTop="10dp"
    android:singleLine="true"
    android:text="Display Message"
    android:textSize="18dp"
    android:textColor="#ffffff"
    android:ellipsize="marquee"
    android:scrollHorizontally="true"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"/>
4

2 回答 2

0

试试这个,它可能对你有帮助。

<TextView
            android:id="@+id/textView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:onClick="onClick" 
            android:smoothScrollbar="true"
            android:scrollbars="vertical"
             android:maxLines="6"
            android:ellipsize="none"
            android:scrollHorizontally="false"
            android:singleLine="false"
            />
于 2014-04-29T10:19:15.807 回答
0

在你的XML中添加这个

我自己想通了。

android:focusable="true" 

& 然后再试一次。

编辑 :

我面临这个问题

就我而言,这就是 Textview 不滚动的原因是,

我在 textview 上面放了一个 listview,所以 textview 不滚动。所以试了这个

设置 listview 可聚焦为 false

listview.setfocusable(false);

然后它可以工作,文本正在滚动。

于 2013-01-16T08:30:56.017 回答