【问题标题】:AlphaAnimation doesn't work on Gingerbread phones?AlphaAnimation 不能在 Gingerbread 手机上运行?
【发布时间】:2013-10-31 21:04:05
【问题描述】:

以下代码在 Ice Cream Sandwich 手机中淡出视图,但在 Gingerbread 手机中不淡出:

myView.setVisibility(View.VISIBLE);

AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);
alphaAnimation.setDuration(3000);

myView.startAnimation(alphaAnimation);

...有人知道为什么会这样吗??

注意:我已经尝试过 View.setAnimation(alphaAnimation) 方法以及显式调用 alphaAnimation.start() 方法,但在 Gingerbread 手机上都失败了。

【问题讨论】:

  • 尝试为动画提供 startoffset。
  • AlphaAnimation 绝对适用于姜饼。但是,您那里的特定代码段似乎很奇怪,试图同时使其可见和不可见。
  • Deepak,很遗憾将起始偏移设置为 0 或 1000 或任何值都无效。
  • CommonsWare,我只希望 View 在动画期间可见。 (当动画通过AnimationListener 结束时,我将其可见性设置为GONE,但不想使我的问题过于复杂,所以省略了这个。)

标签: android android-animation android-view android-2.3-gingerbread


【解决方案1】:

尝试为动画提供 startoffset。

您还确定您的视图 myView 位于其他视图之上吗?动画可能正在运行,但可能不可见,因为它可能位于其他视图下方。

【讨论】:

  • setStartOffset(...) 没有修复它。动画中的View 上面确实有另一个View,但上面的View 具有透明背景。动画View 在冰淇淋三明治上播放。
【解决方案2】:

根据@CommonsWare 的评论,我改变了制作动画的方式,以不改变View 的可见性。这样做时,我意识到问题不在于我的 View 的 alpha 动画,而在于我的布局(z-ordering)与动画无关。

我在这里发布了一个新问题:

FrameLayout z-order not behaving as expected on Gingerbread?

【讨论】:

    【解决方案3】:

    大多数姜饼手机都在设置中禁用了动画。检查并确保您已启用动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      相关资源
      最近更新 更多