我正在开始一项活动,希望startActivity()级的alpha淡入,finish()级的alpha淡出.我如何在Android SDK中实现这一点?

推荐答案

在执行finish()的同一语句中,也在那里执行动画.然后,在新活动中,运行另一个动画.请参见以下代码:

法登.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:fillAfter="true">
     <alpha android:fromAlpha="1.0" 
            android:toAlpha="0.0"
            android:duration="500"/> //Time in milliseconds
</set>

在你的课后

private void finishTask() {
    if("blabbla".equals("blablabla"){
        finish();
        runFadeInAnimation();
    }
}

private void runFadeInAnimation() {
    Animation a = AnimationUtils.loadAnimation(this, R.anim.fadein);
    a.reset();
    LinearLayout ll = (LinearLayout) findViewById(R.id.yourviewhere);
    ll.clearAnimation();
    ll.startAnimation(a);   
}

fadeout.xml

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

在新的Activity类中,创建一个类似于我编写的runFadeAnimation的方法,然后在onCreate中运行它,不要忘记将资源id更改为fadeout.

Android相关问答推荐

在Android Studio Iguana 2023.2.1中,哪里可以找到能量分析器?

Jetpack编写错误(java.lang.NoSuchMethodError:无接口方法startRestartGroup)

将DiffUtils用于Android上的Recrecerview适配器

Android-LVL库始终返回NOT_SUBLISTED

如何禁用自动登录 google play games services android unity?

如何使用滑行加载媒体的专辑封面?

如何在 Jetpack Compose 中创建无限pager

Koin Android-KMM:我有嵌套范围但注入不起作用

为什么项目捕获对象给我在 Compose 中找不到参考

如何使用 Jetpack Compose 制作两个圆圈

在 Jetpack Compose 中清除列表时可组合不重组

单击 Jetpack Compose(单选)时,我无法为列表中的单个文本着色

使用默认使用 RTL 语言的项目本地化 android 应用程序

如何在 Android 应用中录制短视频?

Jetpack Compose:mutableStateOf 不随流量更新

如何为具有不同屏幕尺寸但相同密度的手机创建响应式布局?

为什么按钮没有拉伸到屏幕边缘?

如何将房间数据库导出到 .CSV

Firebase Crashlytics 缩小 R8 Android

当我点击这个按钮时,我想使布尔值(boolean)为真.并将其传递给函数,以便在屏幕上显示内容