切换20+不同屏幕的正确实施选择



我正在制作一个类似测验的游戏,用户在被允许进入下一个问题之前回答每个问题。

我的应用的特征:

  • 每个会话将有大约 10-30 个屏幕。
  • 一般来说,屏幕在布局上是异构的结构,但它们可以是分为5-6种类型。
  • 用户与每个屏幕交互的预期时间为 10-30秒
  • 用户进入下一个屏幕后,不需要前一个再也回不去了)
  • 我想有一个漂亮的滑行从一个屏幕到下一个屏幕

我正在考虑的实现:

  1. 为每个启动一个新Activity"转发"样式的屏幕,即开始下一个屏幕,然后完成当前版本。
  2. 事先加载所有视图,然后使用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是你认为合适的任何观点组,不一定是ViewAnimator。我的碰巧是ScrollView.

如果您发现此方法存在任何潜在问题,请告诉我。非常感谢。

相关内容

  • 没有找到相关文章

最新更新