【问题标题】:Fade in animation image in Android giving black screen在Android中淡入动画图像给出黑屏
【发布时间】:2012-04-06 13:49:08
【问题描述】:

我希望我的图片淡入淡出(我想这就是你所说的......)。我目前正在尝试使用 alpha 来执行此操作(见下文)。但是 alpha 出现黑屏,然后显示图片。我需要动画在开始时显示图片,但是是透明的一张或非常亮的图片,然后随着动画的进行变得更暗并填充颜色。

希望我能正确解释自己...

 AlphaAnimation fadein = new AlphaAnimation(0, 1);
     //fadein.setFillAfter(true);
     fadein.setDuration(1000);
     apa.startAnimation(fadein);
     animationmove=3;

【问题讨论】:

    标签: android android-animation android-imageview android-image


    【解决方案1】:

    如果您希望它以部分可见的方式开始,您可以执行以下两个选项之一:

    1. 创建低透明度图像并将其设置为父布局的背景。
    2. 将初始 alpha 更改为一个小的非零值:

      AlphaAnimation fadein = new AlphaAnimation(0.2, 1);

    动画结束后,你动画的图像可能会恢复到原来的状态。

    您可以使用三种“setFill...”方法。 fadein.setFillBefore(true) 使其以完成动画状态开始,前提是您声明 fadein.setFillEnabled(true)

    fadein.setFillAfter(true) 使动画图像在动画结束后保持其最终状态。

    你也可以在animation.xml文件中声明这些,.

    【讨论】:

    • 谢谢!将其设置为 AlphaAnimation fadein = new AlphaAnimation(0.2, 1);它奏效了!
    【解决方案2】:

    创建动画/alpha.xml

    <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromAlpha="0.0"
        android:toAlpha="1.0"
        android:duration="1000">
    

    在java文件中

    Animation an = AnimationUtils.loadAnimation(this,anim.alpha);
        iv.startAnimation(an);
    

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 2023-04-10
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多