如果最初为零,Android 不会为 alpha 设置动画

标签 android animation view android-animation alpha

我正在尝试为 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/

相关文章:

android - 在 gradle 中排除支持 v4 以删除重复但得到 java.lang.NoClassDefFoundError : android. support.v7.app.AppCompatDelegateImplV14

ios - 尝试使用以编程方式创建的图像为 UIImageView 设置动画时抛出错误

javascript - 键入数组中的第一项后,键入动画光标消失

javascript - 为什么我的 html5 canvas 动画如此闪烁?

ruby-on-rails - 我可以获取 View 中当前 Controller 的名称吗?

Android:使用 Intent.ACTION_SEND/requestCode/resultCode 发送邮件/短信/推文?

android - 在 Android 上移动到 SD 卡

android - 使用 webview 打开新的 android Activity 会显示空白(白色)屏幕而不是 html 内容

iphone - 在iPhone SDK上显示静音/音量透明矩形等消息

ruby-on-rails - 根据环境使用 Rails 进行条件渲染