XML FadeOut动画不起作用

时间:2018-02-11 06:01:21

标签: java android xml animation

我有一个通用的FadeOut动画,用于很多其他事情。我拿出一个按钮并将其切换到一个新按钮,使onClick保持不变。唯一的区别是位置和src:图像。我的意思是不工作就是它只是看去了而且没有消失。它按照预期与其他按钮一起工作但不是这个按钮

MainActivity

public void onPreferenceClose(View view){

    FadeOut = AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out);
    FadeIn = AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in);
    if(preferences.getVisibility() == View.VISIBLE){

        preferences.startAnimation(FadeOut);
        preferences.setVisibility(View.GONE);
        preferences.clearAnimation();


        w_Toolbar.startAnimation(FadeIn);
        w_Toolbar.setVisibility(View.VISIBLE);

        p_Web.setClickable(false);
    }
}

XML

<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillBefore="true"
android:fillAfter="true"
android:duration="350">
<alpha
    android:fromAlpha="1.0"
    android:toAlpha="0.0"
    />

2 个答案:

答案 0 :(得分:1)

您的Fadeout动画正在运行,但是当您将可见性(偏好设置)设置为gone时,它不显示动画。因为它首先使 Gone ..不要使用setVisibility来消除它不是fadeout anim所必需的..它会自动为你做这个...或者你可以使用动画的监听器,并在动画结束时使视图消失

`

<alpha
    android:duration="1000"
    android:fromAlpha="1.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toAlpha="0.0" />

`

将此代码用于动画..

忘了在集合中使用android:fillAfter="true" > <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" >

答案 1 :(得分:0)

删除此行

    preferences.clearAnimation();

你的动画开始并被清除,这就是你无法看到它的原因