【问题标题】:Android Activity.setContentView(), smooth transition?Android Activity.setContentView(),平滑过渡?
【发布时间】:2014-12-03 12:34:44
【问题描述】:

我正在开发我的第一个 Android 游戏,但我很难让 UI 变得像我想要的那样流畅。我花了几个小时在谷歌上搜索,但没有运气,我可能只是在寻找错误的东西。

我有两个不同的 XML 布局资源,每个布局只包含一个 SurfaceView 子类。当我调用 activity.setContentView(R.layout.second_layout) 以从第一个布局过渡到第二个布局时,有一段明显的时间在两者之间显示黑屏(顶部有一个小白条)意见。

我尝试了各种方法,例如;在运行时手动构建第二个视图(即不使用布局 XML 文件),在 activity.setContentView(R.layout.second_layout) 之后调用 activity.overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out) 和试图在视图加载之前渲染到画布(结果画布不可用)。

我没有看到其他游戏(或应用程序)有这个问题,所以我认为有一个相当简单的解决方案。

如果您需要有关我的特殊情况的更多信息以提供帮助,请告诉我缺少哪些信息。任何帮助将不胜感激。

【问题讨论】:

  • 环顾四周,我开始怀疑是否应该为第二个布局创建一个单独的 Activity。最初我不想创建一个,因为由于游戏的设置方式和正在进行的过渡,我觉得我不需要一个。也许我还没有考虑 Android 的思维方式。使用单独的 Activity 会解决我的困境吗?

标签: user-interface android animation


【解决方案1】:

更新:我在下面的答案是在 2010 年写的。从那时起,Fragments 已成为常态,特别是因为片段嵌套成为可能并且支持库允许向后使用此功能兼容时尚。因此,您可以使用一个 Activity 并在该 Activity 的视图层次结构中推送和弹出片段,而不是转换到新的 Activity 来执行新的“用户任务”。动画也可以作为片段事务的一部分执行(例如Fragment transaction animation: slide in and slide out)。

在发布此问题后不久,这变得非常明显,但是我认为我应该回到这里并向其他所有人说明。 在为 Android 开发时,活动是积极的方式。不要因为转换对于单独的 Activity 来说似乎太小而感到厌烦,Android 的基础是 built around the idea of an Activity

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2013-11-19
    相关资源
    最近更新 更多