📜  如何在Android中创建动画启动画面?(1)

📅  最后修改于: 2023-12-03 14:52:39.278000             🧑  作者: Mango

在Android中创建动画启动画面

在Android中,添加一个定制的启动画面和动画可以增强应用程序的体验和吸引力。这篇文章将介绍如何在 Android 应用程序中创建动画启动画面。

步骤1: 创建一个启动画面布局

首先,创建一个布局文件以设置启动画面。通常情况下,启动画面仅是一个放置公司徽标或应用程序名称的图像。由于我们使用动画来使启动屏幕更加生动,因此我们需要添加一个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>
步骤2:在 res/anim目录中创建一个动画文件

接下来,创建一个新的布局动画文件,并将其保存在应用程序的 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>
步骤3:创建一个启动活动

接下来,创建一个启动活动。在 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) {
            }
        });
    }
}
步骤4:在AndroidManifest.xml中设置启动活动

最后,修改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>

现在您已经成功地创建了一个动画启动画面和活动,可以在您的应用程序中使用它们以增强用户体验。运行您的应用程序并查看启动屏幕的效果。

完成!