簡體   English   中英

Android動畫imageview 1st旋轉,然后淡出以進行飛濺

[英]Android animation imageview 1st rotate and then fadeout for splash

我正在嘗試為我的Android應用創建啟動屏幕。 我發現許多與此問題有關的答案。 但這些都無法正常工作。 我只想1.首先在imageView中淡入淡出,然后旋轉,然后淡出淡出或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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM