1

我有一个简单的任务:当发生某些事情(比如按下按钮)时,淡出屏幕(+ 其他操作,但现在没关系)。我的 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 系统淡入淡出工作得更加顺畅 - 我想获得相同的结果或关闭。如何?

4

1 回答 1

0

我所要做的就是:

ObjectAnimator.setFrameDelay(10);

默认帧延迟太长,所以我的动画运行不顺畅。问题不是由于设备性能限制。

于 2012-09-19T09:43:47.117 回答