我有一个项目,我使用了这个转换,但现在当我再次应用它到我的另一个应用程序时,它拒绝进行任何转换。
这是我从MainActivity到AnotherActivity的代码
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
<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" />
这是我的 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);
}
}
我不知道我做错了什么,任何帮助都会受到赞赏。
这是我的 app.gradle
defaultConfig {
applicationId "com.example.farrukh.whatshapp"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
答案 0 :(得分:0)
问题是计时器在单独的线程中执行计时器任务。所以修复看起来像:
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);