Изменение анимации или продолжительности перехода ViewFlipper - PullRequest
2 голосов
/ 05 января 2011

У меня есть ViewFlipper, и иногда я хочу, чтобы он анимировался между представлениями, а иногда я хочу, чтобы он мгновенно переключался между представлениями.

Я пытаюсь понять, как это сделать.

Я пытался изменить анимацию, анимацию и анимацию перед переключением, но если я это сделаю, текущий вид исчезнет во время анимации.

Кто-нибудь знает способ сделать это?

1 Ответ

5 голосов
/ 01 июля 2011

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

flipper.setDisplayedChild(childIndex);

Если вы хотите изменить продолжительность анимации, вам придется указать собственную In и Out анимацию, используя

flipper.setInAnimation(animIn);
flipper.setOutAnimation(animOut);

Где, например, у вас есть анимация XML /res/anim/animIn.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:duration="500"/>
</set>

В приведенном выше примере анимация перемещает следующий кадр справа на 500 мс.

...