Как установить анимацию при изменении содержимого в том же действии

#android #android-layout

#Android #android-макет

Вопрос:

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

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

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

Ответ №1:

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

 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);
    }
 

Ответ №2:

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

Ответ №3:

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