很多游戏中都有进场的动画,用移动位置,或者透明度变化,展示出一些诸如游戏logo之类的信息。在初步了解Android的Animation之后,我们可以做出这样的效果。
首先在res文件夹下面新建用于动画显示效果的xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:duration="2000"
android:fromAlpha="0.0"
android:repeatCount="1"
android:repeatMode="reverse"
android:toAlpha="1.0" />
</set>
之后,在需要展现动画的Activity类中声明出来
logo = (ImageView) findViewById(R.id.logo);
appAnim = AnimationUtils.loadAnimation(this, R.anim.welcome);
appAnim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(),
AnotherActivity.class);
startActivity(i);
finish();
}
});
logo.startAnimation(appAnim);
在理论上,我们也实现了这样一种效果,但是细心点,会发现我们的动画,从最暗变化到最亮,再从最亮返回到最暗,但是在跳转到另外一个Activity之前,那个设置了动画效果的ImageView又恢复了最亮,显然不符合我们的要求。
----------------------------------------------------------------------------------------------------------------------------------
解决办法:在那个声明了动画效果的xml中,在set标签中加上一条android:fillAfter="true" 表示动画结束时,停留在动画的最后一帧即可。
注意此句不要放在<alpha>标签中了,否则没有作用。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<alpha
android:duration="2000"
android:fromAlpha="0.0"
android:repeatCount="1"
android:repeatMode="reverse"
android:toAlpha="1.0" />
</set>
分享到:
相关推荐
在Android开发中,动画效果是提升用户体验的重要手段之一,尤其是对于初始欢迎界面,一个优雅的淡入淡出动画可以给用户留下深刻的印象。本篇将详细介绍如何在Android中实现这样的动画效果。 首先,我们需要理解...
在Android开发中,动画(Animation)是提升用户体验和视觉效果的重要工具之一,特别是在创建加载(Loading)效果时。本文将深入探讨如何使用Android Animation来实现动态的Loading效果。 一、Android Animation概述 ...
在Android开发中,动画是提升用户体验的关键因素之一。本文将深入探讨如何实现标题中提到的四种效果:图片旋转、淡入淡出、缩放以及移动。这些效果在UI设计和交互中广泛应用,如过渡效果、按钮点击反馈等。 首先,...
Frame动画基于一系列连续的静态图像,每张图像是动画中的一个帧,通过快速连续播放这些帧,人眼会将它们融合成动态画面,形成连续的动画效果。在Android中,我们可以使用`AnimationDrawable`类来实现Frame动画。 **...
帧动画(Animation)是Android提供的一种基本动画类型,适用于创建一系列连续的图像,就像电影胶片一样,通过快速播放这些图像来形成动态效果。本教程将深入讲解如何在Android中实现帧动画。 首先,帧动画是通过在`...
3. **帧动画(Frame Animation)**:虽然帧动画不是属性动画的一部分,但它是Android动画体系中的一个关键元素。帧动画通过连续播放一系列图像来创建动画效果,常用于简单的2D游戏或加载指示器。`AnimationDrawable`是...
Frame动画是Android中用于创建序列动画的一种方法,类似于传统的电影制作,通过连续播放多帧静态图片来形成连续的视觉效果。与Tween动画不同,Tween动画是通过对对象属性(如平移、旋转、缩放等)进行平滑过渡来实现...
TweenAnimation,又称补间动画,是Android提供的基础动画系统的一部分,它可以实现对象在指定时间内平移、旋转、缩放或改变透明度等效果。在这个例程中,我们将深入探讨如何在Android应用中使用TweenAnimation创建...
`Animation-list`是Android XML动画资源的一种类型,它定义了一组子项(通常为ImageView的源),这些子项按照指定的顺序和时间间隔依次显示,从而形成动画效果。在`res/anim`目录下创建XML文件,例如`wait_animation...
帧动画在Android开发中是一种常见的视觉效果,常用于创建简单的动画效果,比如旋转、滑动或者是一些简单的交互动画。本Demo旨在提供一个基础的帧动画实现,以供开发者参考和使用。帧动画的工作原理是通过连续播放一...
本文将深入探讨Android自定义`Animation`动画的实现方式,帮助开发者更好地掌握这一技术。 Android动画分为多种类型,包括`Animation`类(补间动画)、`ViewPropertyAnimator`(属性动画)、以及`Transition`(过渡...
在Android开发中,实现文字淡出效果是一种常见的动画操作,主要用在提示信息、加载进度或者界面切换等场景。下面将详细介绍如何在Android中创建一个简单的文字淡出效果。 首先,我们需要了解Android中的动画系统。...
在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,它通过连续播放一系列静态图片来模拟动画效果。然而,如果不进行优化,帧动画可能会导致内存消耗过大,影响应用性能,甚至引发ANR...
WPF Animation不仅限于上述基本效果,还可以组合使用,创建复杂的交互式动画。例如,结合事件触发器,当用户点击按钮时,可以触发一系列动画效果,如按钮变大、颜色变化并缓慢淡出。此外,还可以通过数据绑定将动画...
在Android开发中,动画效果是提升用户体验的关键因素之一。渐变动画是Android动画体系中的一种基本类型,它可以为用户界面带来生动和动态的感觉。本文将深入探讨四种主要的渐变动画:Alpha(透明度)、Scale(缩放)...
在Android开发中,序列帧动画(Frame Animation)是一种常见的动态效果实现方式,它通过连续播放一系列静态图片来创建动画效果,类似于电影胶片的工作原理。本Demo主要关注如何在Android中实现序列帧动画,并添加...
本文将深入探讨Android动画效果的使用,包括对animation API的理解和灵活应用。 一、Android动画类型 Android支持两种主要的动画类型:属性动画(Property Animation)和视图动画(View Animation)。属性动画是自...
首先,我们要知道在Android中,动画主要分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。抖动动画属于补间动画的一种,因为它涉及到对象的位置、大小或透明度等属性的变化。补间动画是通过...
补间动画(Tween Animation)是Android提供的基本动画类型,它通过对对象的透明度、大小、位置或旋转等属性进行平滑过渡来实现视觉效果。本篇文章将深入探讨Android中的Tween Animation,包括其原理、使用方法以及...