Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Alpha淡入动画问题_Android_Animation_Android Animation_Fadein - Fatal编程技术网

Android Alpha淡入动画问题

Android Alpha淡入动画问题,android,animation,android-animation,fadein,Android,Animation,Android Animation,Fadein,我在代码中创建了一个ImageView元素,并将其放置在RelativeLayout中。我使用以下代码将此图像设置为不可见: arrow.setVisibility(View.INVISIBLE); 然后,我通过XML定义了淡入Alpha动画: <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:fillEnabled="true

我在代码中创建了一个ImageView元素,并将其放置在RelativeLayout中。我使用以下代码将此图像设置为不可见:

arrow.setVisibility(View.INVISIBLE);
然后,我通过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>
我看到的问题是,我的动画会导致ImageView在完全可见性下闪烁,然后通过alpha 0到1的动画。我该如何解决这个问题?我无法将初始alpha值设置为0,因为alpha动画基于百分比而不是绝对alpha值。(例如:0*当前值到1*当前值)


任何帮助都将不胜感激。

我认为问题在于,这行代码:

android:fillBefore="true"
在这里,请尝试以下代码,它适合我:

<?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" />


如果将布局文件中的animateLayoutChanges与动画结合使用,切换视图可见性将导致两个动画运行,视图闪烁或闪烁。设置“视图可见性”会导致布局动画LayoutChanges运行并淡入一次视图,然后您创建的动画也会导致第二个动画运行。

问题似乎是由于在完成另一个不同视图对象的动画时运行动画。有人能推荐一个修复方案吗?Android将负责取消同一视图上的另一个动画。您说它是一个具有干扰动画的不同视图。也许你可以通过
clearAnimation()
取消它?我开始认为这个问题只是Android的一个bug。我在其他地方看到过它没有答案,我正在做的动画也没有真正的干扰。这只是当另一个动画结束时,我开始淡入动画。我尝试了clearAnimation,但没有成功。我仍然得到闪烁你可以发布一些更多的代码。什么是阿罗?我的观点是什么?我也有同样的问题。在我的例子中,
introAnimation.setFillBefore(true)解决了这个问题
<?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" />