简体   繁体   English

淡入和淡出过渡在Android活动中不起作用

[英]fade in & fade out transition not working in android activity

I had a project where i used this transition, but now when i applied it once again to my another app it refuses to make any transition. 我有一个使用此过渡的项目,但是现在当我再次将其应用于另一个应用程序时,它拒绝进行任何过渡。

Here is my code for from MainActivity to AnotherActivity 这是我从MainActivity到AnotherActivity的代码

fade_in.xml fade_in.xml

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromAlpha="0.0" android:toAlpha="1.0"
    android:duration="500" />

fade_out.xml fade_out.xml

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromAlpha="1.0" android:toAlpha="0.0"
    android:fillAfter="true"
    android:duration="500" />

Here is my MainActivity.java 这是我的MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Timer time = new Timer();
        time.schedule(new TimerTask() {
            @Override
            public void run() {
                Intent intent = new Intent(MainActivity.this, WelcomeSlider.class);
                startActivity(intent);
                overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
                finish();

            }
        }, 3000);
   }

}

I dont know what i am doing wrong , any help would be appreciated. 我不知道我在做什么错,任何帮助将不胜感激。

Here is my app.gradle 这是我的app.gradle

defaultConfig {
        applicationId "com.example.farrukh.whatshapp"
        minSdkVersion 19
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

The problem is that timer performs timer tasks in the separate thread. 问题是计时器在单独的线程中执行计时器任务。 So fix looks like: 因此修复如下所示:

Timer time = new Timer();
    time.schedule(new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Intent intent = new Intent(MainActivity.this, WelcomeSlider.class);
                    startActivity(intent);
                    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                    finish();
                }
            });
        }
    }, 3000);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM