正确实现选择,可切换20多个不同的屏幕

时间:2011-05-16 08:54:24

标签: android performance user-interface implementation

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

我的应用的特点:

  • 每个会话都有 大约10-30个屏幕。
  • 通常,屏幕在布局上是异质的 结构,但他们可以 分为5-6种类型。
  • 用户与每个屏幕交互的预期时间是10-30 秒
  • 一旦用户进入下一个屏幕, 不需要前一个 不再(他永远不会回去)
  • 我想要一个很好的滑动 来自时的过渡动画 一个屏幕到下一个

我正在考虑实施:

  1. 为每个人开始一个新的Activity 屏幕呈“转发”风格, 即然后开始下一个屏幕 完成当前的一个。
  2. 手动加载所有视图 使用ViewAnimator
  3. 看起来我目前的解决方案都不好。你能帮我解决一个在内存消耗,电池消耗和响应能力方面都很好的解决方案吗?

    非常感谢。

1 个答案:

答案 0 :(得分:0)

以下是我的所作所为。事实证明我手动设置了动画

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

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