#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
свой просмотр, и он будет появляться или / и исчезать вместе с вашей анимацией.