1. ホーム
  2. android

[解決済み] ellipsize="marquee "を常にスクロールするようにする方法はありますか?

2023-01-24 12:39:17

質問

TextViewにマーキー効果を使いたいのですが、TextViewにフォーカスが当たった時のみテキストがスクロールされます。私の場合、それができないので、問題です。

使っているのは

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

TextViewのテキストを常にスクロールさせる方法はないでしょうか?これは Android Market アプリで行われているのを見たことがあり、フォーカスを受けなくてもアプリ名がタイトル バーでスクロールします。

どのように解決するのですか?

私はこの問題に直面しており、私が考え出した最短の解決策は、TextViewから派生した新しいクラスを作成することです。 このクラスは、次の3つのメソッドをオーバーライドする必要があります。 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;
}