Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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 animation imageview先旋转,然后淡出以进行飞溅_Java_Android_Android Studio_Animation_Android Animation - Fatal编程技术网

Java Android animation imageview先旋转,然后淡出以进行飞溅

Java Android animation imageview先旋转,然后淡出以进行飞溅,java,android,android-studio,animation,android-animation,Java,Android,Android Studio,Animation,Android Animation,我正在尝试为我的Android应用程序制作一个闪屏。我找到了许多与这个问题相关的答案。但没有一个是正确的。我只是想 1.首先在图像视图中淡入淡出,然后旋转,然后淡出 或2。所有这些同时发生。我试过这些代码 final ImageView iv = (ImageView) findViewById(R.id.imageView); final Animation an = AnimationUtils.loadAnimation(getBaseContext(),R.anim.an

我正在尝试为我的Android应用程序制作一个闪屏。我找到了许多与这个问题相关的答案。但没有一个是正确的。我只是想 1.首先在图像视图中淡入淡出,然后旋转,然后淡出 或2。所有这些同时发生。我试过这些代码

    final ImageView iv = (ImageView) findViewById(R.id.imageView);
    final Animation an = AnimationUtils.loadAnimation(getBaseContext(),R.anim.animate);

    iv.startAnimation(an);
    an.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {}

        @Override
        public void onAnimationEnd(Animation animation) {
            finish();
            Intent i = new Intent(getBaseContext(),Welcome.class);
            startActivity(i);
        }

        @Override
        public void onAnimationRepeat(Animation animation) {}
    });
在动画xml中

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">

<rotate
    android:duration="10000"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    />

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

</set>

您可以使用此选项进行旋转、淡入淡出

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:fillAfter="true"
     android:interpolator="@android:anim/linear_interpolator">

    <alpha
        android:duration="5000"
        android:fromAlpha="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatCount="1"
        android:repeatMode="reverse"
        android:toAlpha="0.4"/>

    <rotate
        android:duration="10000"
        android:fromDegrees="0"
        android:interpolator="@android:anim/cycle_interpolator"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="180"/>

</set>

您必须指定
startOffset
。如果未指定,动画集中的所有元素都将同时启动。试试这个:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">

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

    <rotate
        android:duration="10000"
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="5000" />

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

</set>