Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

Вы можете использовать TextSwitcher для анимации при изменении текста в TextView.

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

Вы можете указать представления с помощью setFactory (...) или просто добавить к нему два текстовых элемента с 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");