我正在尝试为 Android View 的 alpha
设置动画(两个动画,淡入淡出)。默认情况下,如果 View 的 alpha 最初为 1,则一切正常。但是,我希望该 View 最初是透明的,因此我将其 alpha 设置为零:
indicatorContainer.setAlpha(0);
现在,动画将无法运行。它永远不会变得可见。如果我注释掉那行,最初会显示 View (我不想要),但是当我调用它们时我的动画效果很好。我虽然这是微不足道的,但显然不是。我做错了什么?
更新:在阅读了一些涉及 setAlpha 的 API 更改后,我还尝试了浮点
方法,认为我的调用可能调用了不正确的重载,但没有任何改变。0f
而不是整数 0
最佳答案
试试这样的:
mRelativeLayout.setAlpha(0f);
mRelativeLayout.animate().alpha(1f).setDuration(500).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
mRelativeLayout.setVisibility(View.VISIBLE);
//OR
mRelativeLayout.setAlpha(1f);
}
});
关于如果最初为零,Android 不会为 alpha 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473355/