Анимация при смене текста - PullRequest
       0

Анимация при смене текста

35 голосов
/ 27 сентября 2011

В настоящее время я использую основной обходной путь, и каждый раз при изменении текста в TextView меняются две операции. Я использую этот код:

Weeklytext.this.overridePendingTransition( 
                    R.anim.slide_in_left, 
                    R.anim.slide_out_right
            );

Возможно ли сделать это в одном занятии? Немного раздражает наличие двух Деятельностей с одинаковым содержимым, чтобы я мог использовать анимацию;)

Спасибо! Пожалуйста, спросите, если вы не понимаете мой вопрос!

1 Ответ

67 голосов
/ 27 сентября 2011

Вы можете использовать TextSwitcher , чтобы иметь анимацию при изменении текста в TextView.

TextSwitcher - это просто особый вид ViewSwitcher , и поэтому, он позволяет вам предоставить два представления для анимации между ними.Когда вы вызываете setText (), он обновляет текст следующего TextView, а затем анимирует его на экран, а текущий выводит.Старый TextView затем обозначается как «следующий» TextView, и процесс повторяется.

Вы можете указать Представления, используя setFactory (...) , или просто добавить к нему два TextView с помощью addView (...) .

// get a TextSwitcher view; instantiate in code or resolve from a layout/XML
TextSwitcher textSwitcher = new TextSwitcher(context);

// specify the in/out animations you wish to use
textSwitcher.setInAnimation(context, R.anim.slide_in_left);
textSwitcher.setOutAnimation(context, R.anim.slide_out_right);

// provide two TextViews for the TextSwitcher to use
// you can apply styles to these Views before adding
textSwitcher.addView(new TextView(context));
textSwitcher.addView(new TextView(context));

// you are now ready to use the TextSwitcher
// it will animate between calls to setText
textSwitcher.setText("hello");
...
textSwitcher.setText("goodbye");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...