Android界面切换效果大全:Activity页面切换、菜单动画和画图Matrix

需积分: 10 1 下载量 141 浏览量 更新于2024-07-24 收藏 4.03MB PDF 举报
Android 界面效果全汇总 Android 界面效果是一个非常广泛的领域,涵盖了 Activity 页面切换的效果、Android 菜单动画、Android 画图之 Matrix 等多方面的内容。本文将从 Android 界面效果的角度,详细介绍 Activity 页面切换的效果、Android 菜单动画和 Android 画图之 Matrix 等知识点。 一、Activity 页面切换的效果 Activity 页面切换的效果是 Android 界面效果中的一部分,它可以使得 Activity 之间的切换更加流畅、美观。 Android 2.0 之后,Google 为我们提供了 overridePendingTransition() 方法,该方法可以实现 Activity 之间的切换效果。 overridePendingTransition() 方法的使用非常简单,只需要在 startActivity() 之前调用该方法,并传入两个参数:前一个 Activity 的退出动画和下一个 Activity 的进入动画。例如: ```java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class); SplashScreen.this.startActivity(mainIntent); SplashScreen.this.finish(); overridePendingTransition(R.anim.mainfadein, R.anim.splashfadeout); } }, 3000); } ``` 在上面的代码中,我们使用了 overridePendingTransition() 方法来实现 Activity 之间的切换效果,其中 R.anim.mainfadein 是前一个 Activity 的退出动画,而 R.anim.splashfadeout 是下一个 Activity 的进入动画。 此外,我们还可以使用 getWindow().setWindowAnimations(int) 方法来实现 Activity 之间的切换效果,该方法可以设置 Activity 的窗口动画。例如: ```java getWindow().setWindowAnimations(R.style.WindowAnimation); ``` 在上面的代码中,我们使用了 getWindow().setWindowAnimations(int) 方法来设置 Activity 的窗口动画,其中 R.style.WindowAnimation 是我们自定义的窗口动画样式。 二、Android 菜单动画 Android 菜单动画是 Android 界面效果中的一部分,它可以使得菜单的展开和收缩更加流畅、美观。 Android 菜单动画可以通过使用 AnimationDrawable 来实现。 首先,我们需要在 res/drawable 文件夹下创建一个菜单动画的 XML 文件,例如 menu_animation.xml: ```xml <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawable/menu_item1" android:duration="50" /> <item android:drawable="@drawable/menu_item2" android:duration="50" /> <item android:drawable="@drawable/menu_item3" android:duration="50" /> </animation-list> ``` 在上面的代码中,我们定义了一个菜单动画的 XML 文件,包含三个菜单项,每个菜单项的持续时间为 50 毫秒。 接下来,我们可以在 Java 代码中使用 AnimationDrawable 来播放菜单动画: ```java ImageView menuImageView = (ImageView) findViewById(R.id.menuImageView); AnimationDrawable menuAnimation = (AnimationDrawable) menuImageView.getDrawable(); menuAnimation.start(); ``` 在上面的代码中,我们首先获取了菜单ImageView 的实例,然后使用 AnimationDrawable 来播放菜单动画。 三、Android 画图之 Matrix Android 画图之 Matrix 是 Android 界面效果中的一部分,它可以使得图形的绘制更加灵活、多样化。 Android 画图之 Matrix 可以通过使用 Matrix 类来实现。 Matrix 类提供了多种方法来实现图形的绘制,例如 translate() 方法可以实现图形的平移,scale() 方法可以实现图形的缩放,rotate() 方法可以实现图形的旋转等。 例如,我们可以使用 translate() 方法来实现图形的平移: ```java Matrix matrix = new Matrix(); matrix.translate(100, 100); canvas.setMatrix(matrix); canvas.drawBitmap(bitmap, 0, 0, paint); ``` 在上面的代码中,我们首先创建了一个 Matrix 对象,然后使用 translate() 方法来实现图形的平移,最后使用 canvas.setMatrix() 方法来设置绘制矩阵,finally 使用 canvas.drawBitmap() 方法来绘制图形。 Android 界面效果是一个非常广泛的领域,涵盖了 Activity 页面切换的效果、Android 菜单动画、Android 画图之 Matrix 等多方面的内容。通过掌握这些知识点,我们可以创造出更加美观、流畅的 Android 界面。