android - 在 Android 中从以前的 Activity 淡入 Activity

标签 android android-activity

我目前正在开发一个 Android 应用程序,但我的启动 Activity 遇到了一些问题。我希望我的主要 Activity 从我的启动 Activity 中淡出,而不是从黑屏。我的启动画面和主要 Activity 都使用相同的背景图像,所以如果我进行淡入淡出/淡入淡出组合,它看起来很奇怪,因为在过渡期间背景有点淡化。

这里的想法是我必须有我的标志的版本:正常和发光。我希望我的主要 Activity 淡入淡出,这样我的发光标志就会取代我的正常标志,从而产生一个整洁的小“开启”效果。以下代码从黑屏淡入,并不理想。

/**
 * Pause Activity
 */
@Override
protected void onPause()
{
    super.onPause();
    finish();
    overridePendingTransition(android.R.anim.fade_in, 0);
}

编辑:

创建我自己的淡出动画以保留 1.0 alpha 级别(从 1.0 到 1.0)并将 android:fillAfter="true" 添加到我的启动动画集解决了这个问题。

最佳答案

这是关于事物的顺序。这是一个在 3 秒后淡入下一个 Activity 的示例:

new Handler().postDelayed(new Runnable() {
  @Override
  public void run() {

    //Create an intent that will start the main activity.
    Intent mainIntent = new Intent(SplashActivity.this, MainMenuActivity.class);
    SplashActivity.this.startActivity(mainIntent);

    //Finish splash activity so user cant go back to it.
    SplashActivity.this.finish();

    //Apply splash exit (fade out) and main entry (fade in) animation transitions.
    overridePendingTransition(R.anim.mainfadein, R.anim.splashfadeout);
  }
}, 3000);

注意这里有两个动画淡入淡出。

mainfadein.xml

<?xml version="1.0" encoding="utf-8"?>
<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="700" />

splashfadeout.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
        android:interpolator="@android:anim/decelerate_interpolator"
        android:zAdjustment="top" 
        android:fromAlpha="1.0" 
        android:toAlpha="0.0" 
        android:duration="700" />

关于android - 在 Android 中从以前的 Activity 淡入 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150054/

相关文章:

java - 在 RecyclerView 中的 ListViews 中显示项目

java - 切换 Activity 时出现 Logcat 错误导致应用程序在按下按钮后崩溃

java - 启动服务后 Activity 挂起

Android:在另一个 Activity 中重用存储为局部变量的 Activity

java - Android 阻止后退按钮销毁后 Intent 恢复

android - KeyguardManager 内存泄漏

android - Xamarin跨平台(Xamarin.Forms)中如何识别后退按钮事件

Android SDK Manager 无法下载新文件

Android离线文档和示例代码

android - startIntentSenderForResult 已弃用 Android