我想在TextView上使用选取框效果,但是仅在TextView获得焦点时才滚动文本。这是一个问题,因为就我而言,这不可能。

我在用:

  android:ellipsize="marquee"
  android:marqueeRepeatLimit="marquee_forever"

有没有一种方法可以让TextView始终滚动其文本?我已经在Android Market应用程序中看到了这一点,该应用程序的名称会在标题栏中滚动,即使它没有得到关注,但我找不到API文档中提到的内容。

最佳答案

我一直在面对这个问题,而我想出的最短的解决方案是创建一个从TextView派生的新类。
该类应重写三种方法 onFocusChanged onWindowFocusChanged isFocused 以使TextView全部聚焦。

@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;
}

关于android - 有没有办法让ellipsize =“marquee”总是滚动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1827751/

10-10 01:42