【问题标题】:Android: bad animation framerate when fading screenAndroid:淡出屏幕时动画帧速率不佳
【发布时间】:2012-09-12 15:21:51
【问题描述】:

我有一个简单的任务:当发生某些事情(比如按下按钮)时,淡出屏幕(+ 其他操作,但现在没关系)。 我的 minSDKVersion 是 11。我是这样做的:活动布局包含一个视图:

<View
    android:id="@+id/bgFadingView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:alpha="0"
    android:background="@android:color/black" />

我淡出屏幕的方法如下:

protected void fadeBGView(boolean fadeIn)
{
    ObjectAnimator animator = ObjectAnimator.ofFloat(bgFadingView, "alpha", fadeIn ? 0.75f : 0f); //bgFadingView is initialized via findViewById(R.id.bgFadingView);
    animator.setDuration(1000);
    animator.start();
}

换句话说,我有黑色视图,它占据了整个屏幕,当我需要淡入时,我将视图的 alpha 从 0 更改为 0.75。

问题在于它在帧速率不佳的情况下工作......我看到逐帧褪色的动画 - 它以大约 15fps 的速度工作。我究竟做错了什么? Android 系统淡入淡出工作得更加顺畅 - 我想获得相同的结果或关闭。怎么做?

【问题讨论】:

  • 如果您真的打算以 API 11+ 为目标,您可以启用硬件加速。系统动画使用它。这很可能会解决问题。

标签: android animation alpha


【解决方案1】:

我所要做的就是:

ObjectAnimator.setFrameDelay(10);

默认帧延迟太长,所以我的动画效果不流畅。问题不是由于设备性能限制造成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多