Можно ли определить, когда анимация выделения TextView завершена?

1

Если я установил значение ellipsize TextView в значение "marquee" и значение marqueeRepeatLimit равным "1" (для того, чтобы развернуть длинный текст через один раз TextView), есть ли способ обнаружить, когда анимация marqueeRepeatLimit?

(Thing is, у меня есть очередь строк, которая добавляется динамически, и я хочу вытащить и показать одну из этих строк за раз. Строка может быть длиннее ширины TextView, поэтому я хочу перевернуть ее прежде чем я покажу следующий.)

Изменить: если это невозможно сделать, используя свойства выделения TextView, кто-нибудь знает, как я могу добавить анимацию в TextView, который имитирует анимацию marquee?

Теги:
android-textview
android-layout
android-view

2 ответа

0
Лучший ответ

Насколько я могу судить, невозможно обнаружить, когда анимация marquee завершена, и даже если я реплицирую анимацию marquee с помощью анимации трансляции в TextView, было бы нелегко установить длительность анимации правильной длины времени в соответствии с текстом в TextView. Так! Вместо этого я использую TextSwitcher следующим образом...

<TextSwitcher
    android:id="@+id/myTextSwitcher"
    ...
    android:inAnimation="@anim/fade_in_slow"
    android:outAnimation="@anim/fade_out_slow" >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true" />
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true" />

... и вызывая метод myTextSwitcher.setText("text to show next") так часто, используя таймер. Не идеальное, но лучшее, что я мог придумать!

1

вместо шага просто попробуйте простую анимацию в тексте, там вы можете определить, в каком стиле текст должен двигаться, с какой скоростью и направлением.
Вы можете установить результат, который будет показан после завершения анимации, с помощью метода setFillAfter() (показывая текст по умолчанию в вашем случае).

  • 0
    Можно ли добавить анимацию в TextView, которая катит текст внутри TextView (как анимация выделения) и которая не перемещает весь TextView? Любые ссылки или примеры или дополнительная информация о том, как этого можно достичь?
  • 0
    конечно, вы можете анимировать это как хотите. Знаете ли вы об демонстрации API в Android? Там вы можете найти код для анимации текста (что угодно) с различными стилями.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню