Как установить анимацию, когда я изменяю содержимое в той же деятельности - PullRequest
1 голос
/ 21 октября 2011

У меня одно задание, которое я устанавливаю, зависит от выбора пользователя.

Например, у меня есть setContentView(R.layout.main), после этого, когда пользователь выбирает что-то, я устанавливаю новый, например setContentView(R.layout.first), когда в следующий раз нажимаю, я устанавливаю setContentView(R.layout.second).

Мне нужно изменить содержимое в той же деятельности. Как настроить анимацию (что-то вроде того, когда я действительно переключаюсь между действиями), когда я меняю контент с основного на первое и с первого на второе?

Ответы [ 3 ]

1 голос
/ 21 октября 2011

Давайте возьмем это с примером. Предположим, мы меняем вид при нажатии кнопки,

private OnTouchListener touch = new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_UP) {
                     loadOutViewAnimation();//
                     loadInViewAnimation();
                  }
            }
    }

    public void loadOutViewAnimation(){
            //considering layout is your root layout
            layout.setAnimation(animation);

    }

    public void  loadInViewAnimation(){
        setContentView(R.layout.first);
        //by using findview by id here you will get root layout.
        layout.setAnimation(animation);
    }
0 голосов
/ 21 октября 2011

Вы можете использовать методы из AnimationUtils class makeInAnimation(context, boolean) и makeOutAnimation(context, boolean) для создания объекта Animation. Настройте его с помощью методов setStartTime и setDuration. Теперь вы можете вызвать setAnimation в вашем представлении, и оно будет появляться или исчезать с вашей анимацией.

0 голосов
/ 21 октября 2011

Вы можете сделать это с помощью ViewFlipper ..... Посмотрите этот пример http://www.androidpeople.com/android-viewflipper-example Я надеюсь, что это поможет вам решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...