📅  最后修改于: 2023-12-03 14:52:39.278000             🧑  作者: Mango
在Android中,添加一个定制的启动画面和动画可以增强应用程序的体验和吸引力。这篇文章将介绍如何在 Android 应用程序中创建动画启动画面。
首先,创建一个布局文件以设置启动画面。通常情况下,启动画面仅是一个放置公司徽标或应用程序名称的图像。由于我们使用动画来使启动屏幕更加生动,因此我们需要添加一个ImageView控件并将其放置于屏幕上。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/launch_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<ImageView
android:id="@+id/launch_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/app_logo" />
</RelativeLayout>
接下来,创建一个新的布局动画文件,并将其保存在应用程序的 res/anim目录中。此文件将控制启动画面的进入和退出动画。这里我们将创建两个简单的缩放动画。
<!-- 进入屏幕的动画 -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="500"
android:fromXScale="0.3"
android:fromYScale="0.3"
android:toXScale="1"
android:toYScale="1"
android:pivotX="50%"
android:pivotY="50%" />
<alpha
android:duration="500"
android:fromAlpha="0"
android:toAlpha="1" />
</set>
<!-- 退出屏幕的动画 -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="500"
android:fromXScale="1"
android:fromYScale="1"
android:toXScale="0.3"
android:toYScale="0.3"
android:pivotX="50%"
android:pivotY="50%" />
<alpha
android:duration="500"
android:fromAlpha="1"
android:toAlpha="0" />
</set>
接下来,创建一个启动活动。在 onCreate() 方法中,我们将加载启动屏幕布局并为其指定进入动画。
public class LaunchActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch);
// 加载控件
RelativeLayout launchScreen = findViewById(R.id.launch_screen);
ImageView launchIcon = findViewById(R.id.launch_icon);
// 加载动画
Animation anim = AnimationUtils.loadAnimation(this, R.anim.launch_anim);
// 设置动画
launchScreen.setAnimation(anim);
// 动画监听
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// 动画开始时
}
@Override
public void onAnimationEnd(Animation animation) {
// 动画结束时,跳转到主页面
Intent i = new Intent(LaunchActivity.this, MainActivity.class);
startActivity(i);
// 关闭启动页面
finish();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
}
最后,修改AndroidManifest.xml文件中启动活动的设置。在您的启动活动中添加以下行:
<activity android:name=".LaunchActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
现在您已经成功地创建了一个动画启动画面和活动,可以在您的应用程序中使用它们以增强用户体验。运行您的应用程序并查看启动屏幕的效果。
完成!