Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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
Java 淡入淡出在android中工作时间太短,速度太快_Java_Android_Xml_Eclipse_Animation - Fatal编程技术网

Java 淡入淡出在android中工作时间太短,速度太快

Java 淡入淡出在android中工作时间太短,速度太快,java,android,xml,eclipse,animation,Java,Android,Xml,Eclipse,Animation,我正在尝试在Android中应用淡入淡出转换 你能告诉我为什么我只看到了一瞬间的褪色,然后又恢复到原来的alpha吗 我添加了setFillAfter(true)以保持图像消失 我试过: animation = android.view.animation.AnimationUtils .loadAnimation(AppService.getAppContext(),

我正在尝试在Android中应用淡入淡出转换

你能告诉我为什么我只看到了一瞬间的褪色,然后又恢复到原来的alpha吗

我添加了
setFillAfter(true)
以保持图像消失

我试过:

                animation = android.view.animation.AnimationUtils
                        .loadAnimation(AppService.getAppContext(),
                                com.waze.R.anim.fade_out);

                animation.setInterpolator(new AccelerateInterpolator());
                animation.setFillAfter(true);
                boxImage_left.startAnimation(animation);
为此:

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

让您的活动实现AnimationListener,并在动画结束后设置可见性

public class YourActivity extends Activity implements AnimationListener
{
    @override
    onCreate(Bundle x)
    {
        ...
        // set animation listener
        animFadein.setAnimationListener(this);
        animFadeOut.setAnimationListener(this);

    }
    @Override
    public void onAnimationEnd(Animation animation)
    {
        if (animation == animFadein)
        {
            view.setVisibility(View.VISIBLE);
        }
         if (animation == animFadeOut)
        {
            view.setVisibility(View.INVISIBLE);
        }
    }
}

对于动画速度,请修改动画持续时间和插值器,而不是加速器插值器,您可以使用线性插值器

我知道为时已晚,但我会帮助别人的

public class YourActivity extends Activity implements AnimationListener
{
    @override
    onCreate(Bundle x)
    {
        ...
        // set animation listener
        animFadein.setAnimationListener(this);
        animFadeOut.setAnimationListener(this);

    }
    @Override
    public void onAnimationEnd(Animation animation)
    {
        if (animation == animFadein)
        {
            view.setVisibility(View.VISIBLE);
        }
         if (animation == animFadeOut)
        {
            view.setVisibility(View.INVISIBLE);
        }
    }
}