Android Alpha淡出动画问题

Der*_*ard 8 animation android fadein android-animation

我有一个ImageView元素,我在我的代码中创建并放置在RelativeLayout中.我将此图像设置为Invisible,以使用以下代码开始:

arrow.setVisibility(View.INVISIBLE);
Run Code Online (Sandbox Code Playgroud)

然后我通过XML定义了淡入淡出Alpha动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:fillEnabled="true"
android:fillAfter="true"
android:fillBefore="true">

<alpha
    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:startOffset="100"
    android:duration="300" />

/set>
Run Code Online (Sandbox Code Playgroud)

要运行动画:

我只需调用以下内容即可启动动画

myview.startAnimation(myanimation);
Run Code Online (Sandbox Code Playgroud)

我看到的问题是我的动画导致ImageView以完全可见性闪烁,然后通过alpha 0到1的动画.如何解决这个问题?我无法将初始alpha值设置为0,因为alpha动画基于百分比而非绝对alpha值.(例如:0*当前值为1*当前值)

任何帮助将不胜感激.

Ami*_*ian 2

我认为问题是,这行代码:

android:fillBefore="true"
Run Code Online (Sandbox Code Playgroud)

在这里,试试这个代码,它对我有用:

<?xml version="1.0" encoding="UTF-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fillAfter="true"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />
Run Code Online (Sandbox Code Playgroud)