Android: ViewFlipper animation

Я добавил ViewFlipper, в котором есть 2 linearlayout, и я сделал анимацию xml: left_in.xml:

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

right_out.xml:

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

left_out.xml:

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

right_in.xml:

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

кнопка «Далее» в одном линейном макете, который отображается при первой загрузке приложения:

mNext.setOnClickListener(new View.OnClickListener(){

            public void onClick(View v) {
                // TODO Auto-generated method stub
                mViewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper1);
                //mViewFlipper.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.left_in));
                mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.left_in));
                mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.right_out));
                mViewFlipper.showNext();
            }

        });

и значок " Кнопка "Назад":

mPrev.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mViewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper1);
            mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.right_in));
            mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.left_out));
            mViewFlipper.showPrevious();
        }       
    });

Кнопка "Далее" работает хорошо, но кнопка "Назад" выглядит странно: когда я нажимаю кнопку "Назад", она сначала переключается на предыдущий вид, а затем запускает анимацию, и, наконец, она изменяется снова в предыдущий вид! Как решить ?? Заранее благодарим !!

5
задан Rocky 13 July 2011 в 03:08
поделиться