可以说Android动画是实现android应用程序中更好的用户界面和用户体验的最重要因素。在有关GeeksforGeeks的一系列文章中,这些文章旨在为应用程序提供更好的UI和UX,这也将成为其中的一个。在本文中,我们将知道如何在android中的两个活动之间添加淡入淡出动画。 CrossFading的含义是两个活动之间的平稳过渡。通常,它意味着淡出一个,而淡出另一种活动。它创建了一个平稳的过渡,并且在很短的时间内,用户将对这两项活动有感觉。这是我们将在活动之间创建的相同类型动画的示例。请注意,我们将同时使用Java和Kotlin语言来实现此项目。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。您可以根据自己的选择选择语言,因为在这里,我们提供了kotlin和Java的代码。
第2步:首先进入编码部分,您必须做一些准备工作
- 修改字符串.xml文件:
XML
GFG App
GO TO MAIN ACTIVITY
GO TO SECOND ACTIVITY
XML
#00AC28
#09d639
#03DAC5
XML
XML
XML
XML
Java
public void goToSecondActivity (View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
Kotlin
fun goToSecondActivity(view: View?) {
val intent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(intent)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
Java
public void goToMainActivity (View view) {
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
Kotlin
fun goToMainActivity(view: View?) {
val intent = Intent(this@SecondActivity, MainActivity::class.java)
startActivity(intent)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
- 修改colors.xml文件:
XML格式
#00AC28
#09d639
#03DAC5
步骤3:建立另一个空白的活动
确保在屏幕的左上角选择了Android作为项目结构。然后导航到Java/ your_package_name 。现在,右键单击您的包名称,然后在此处选择“新建”,然后选择“活动”和“空活动”。
只需给它一个您选择的名称,就像我们给它提供SecondActivity一样,然后单击完成。
步骤4:使用布局文件
转到res / layout / activity_second ,然后粘贴以下代码。在这里,我们使用带有按钮的ConstraintLayout来切换到另一个活动。
以下是activity_second.xml文件的代码。
XML格式
另外,导航到res / layout / activity_main并删除所有默认代码,然后粘贴以下代码。以下是activity_main.xml文件的代码。
XML格式
步骤5:使用动画文件
请参考如何在Android Studio中创建动画文件夹和动画文件以创建动画文件夹和动画文件。我们创建了两个动画文件,并将其命名为fade_in和fade_out。现在,从fade_in中删除所有默认代码,然后粘贴以下代码。以下是fade_in.xml文件的代码。
XML格式
以下是fade_out.xml文件的代码。
XML格式
步骤6:使用MainActivity文件
只需在onCreate()方法之后将以下代码添加到您的MainActivity类中即可。这是转到SecondActivity的代码,我们在它们之间设置动画。
Java
public void goToSecondActivity (View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
科特林
fun goToSecondActivity(view: View?) {
val intent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(intent)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
步骤7:使用SecondActivity文件
另外,在onCreate()方法之后,在SecondActivity中添加以下代码。
Java
public void goToMainActivity (View view) {
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
科特林
fun goToMainActivity(view: View?) {
val intent = Intent(this@SecondActivity, MainActivity::class.java)
startActivity(intent)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
输出:
GitHub链接: https : //github.com/shivamparashar165/crossfade_android_anim