Я делаю викторину, в которой пользователь отвечает на каждый вопрос, прежде чем им разрешат перейти к следующему.
Характеристики моего приложения:
Реализации, которые я рассматриваю:
Activity
для каждого
экран в стиле "пересылки",
т.е. начать следующий экран, тогда
завершите текущий.ViewAnimator
Похоже, что ни одно из моих текущих решений не является хорошим. Можете ли вы помочь мне в решении, которое является хорошим с точки зрения потребления памяти, потребления батареи и отзывчивости?
Большое спасибо.
ОК, это то, что я сделал. Оказалось, что я вручную установил анимацию
onCreate() {
mAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_in_right);
mViewPool = new View[] { /* A few views for re-using, each of different type */ };
}
proceed() {
nextView = getView(type);
mFrame.removeAllChilds();
mFrame.addView(nextView);
nextView.startAnimation(mAnimation);
}
getView(int type) {
View view = mViewPool[type];
// reset some subviews if neccessary
return view;
}
Где mFrame
- это какая-либо группа ViewGroup, которая, по вашему мнению, подходит, не обязательно ViewAnimator
. Шахта бывает ScrollView
.
Если вы видите какую-либо потенциальную проблему с этим подходом, сообщите мне. Большое спасибо.