动画总结:不管什么动画、透明还是大小、位置、四个动画可以改变的特效很多!但是其中有一个特效是不叫棘手的就是移动特效!假如我现在要做一个仿HTC圆环解锁的特效动画废话少说上代码解释!
public class ScreenUnLockActivity extends Activity implements OnClickListener{
public Button btn;
public ImageView imageview;
public AnimationSet animation = new AnimationSet(true);//动画集合
public Animation alpha,scale,translate;//透明,尺寸
float mCircleLockTouchX=0 ;//= event.getX() - mLayoutCircle.getLeft();
float mCircleLockTouchY=0 ;//= event.getY() - mLayoutCircle.getTop();
//** Called when the activity is first created. *//*
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// init();
//btn.setOnClickListener(this);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_UP){
mCircleLockTouchX = event.getX();
mCircleLockTouchY = event.getY();
Log.i("HHJ", "mCircleLockTouchY: "+mCircleLockTouchY+" mCircleLockTouchY:"+mCircleLockTouchY);
init();
startAnimation();
}
return super.onTouchEvent(event);
}
public void init(){
btn = (Button) findViewById(R.id.btn);
imageview = (ImageView) findViewById(R.id.imageview);
alpha = new AlphaAnimation(1.0f, 0.0f);
alpha.setDuration(1000);
scale = new ScaleAnimation(1f, 3f, 1f, 3f,
Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
scale.setDuration(1000);
//下面这代码是拿到当前屏幕的中心位置!我屏幕为480*854
translate = new TranslateAnimation(0, getWindowManager().getDefaultDisplay().getWidth()/2-imageview.getHeight()/2,
0, getWindowManager().getDefaultDisplay().getHeight()/2-imageview.getWidth()/2);
translate = new TranslateAnimation(mCircleLockTouchX-imageview.getWidth() / 2- imageview.getLeft(), 240-imageview.getWidth() / 2- imageview.getLeft(),
mCircleLockTouchY- imageview.getHeight() / 2- imageview.getTop(), 425- imageview.getHeight() / 2- imageview.getTop());
//translate.setFillAfter(false);
Log.i("HHJ", "width"+getWindowManager().getDefaultDisplay().getWidth()/2+" height:"+getWindowManager().getDefaultDisplay().getHeight()/2);
translate.setDuration(500);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId() == R.id.btn){
startAnimation();
}
}
public void startAnimation(){
//添加动画集合
animation.addAnimation(alpha);
animation.addAnimation(scale);
animation.addAnimation(translate);
imageview.startAnimation(animation);
}
}
分享到:
相关推荐
在Android中,我们可以使用`AnimationDrawable`类来实现帧动画。首先,我们需要在资源目录下创建一个XML文件(如`frame_animation.xml`),定义每一帧图片及其持续时间: ```xml <animation-list xmlns:android=...
`RotateAnimation`是Android中实现旋转效果的专用动画类。它可以根据指定的初始角度和最终角度,使视图进行旋转。 1. 创建RotateAnimation 创建`RotateAnimation`对象,需要提供起始角度、结束角度、旋转中心X坐标...
这篇"Android动画学习总结---下"着重探讨了Android属性动画(Property Animation)的使用方法。属性动画系统是Android 3.0(API Level 11)引入的新特性,与视图动画(View Animation)相比,它提供了更为强大的动画...
补间动画是Android中最基础的动画形式,它可以改变视图的位置、大小、透明度等属性。 首先,让我们了解什么是补间动画。补间动画在Android中是指在一定时间内改变一个或多个属性的过程。这些属性包括视图的位置、...
"android总结动画显示效果.zip"这个压缩包文件很可能是包含了一系列关于Android动画实现的示例代码、资源文件和详细说明,旨在帮助开发者掌握如何在Android平台上创建火焰动画以及其他各种动态效果。 Android动画...
首先,让我们了解Android中的基本动画类型。Android支持两种主要的动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、透明度等属性,它通过在一段时间内平滑地...
本文将深入探讨在Android中如何创建和使用各种动画,特别是属性动画和补间动画,这些都是Android动画的基础和核心。 首先,我们来理解补间动画(Tween Animation)。补间动画是在两个关键帧之间平滑地改变对象的...
在Android中,我们可以通过`Animation`类及其子类(如`TranslateAnimation`、`ScaleAnimation`、`RotateAnimation`和`AlphaAnimation`)来创建补间动画。以一个简单的平移动画为例: ```xml <translate xmlns:...
在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。`Canvas`类提供了丰富的绘图...通过学习和实践这个Demo,开发者可以掌握在Android中创建动态图形和动画的基础,为进一步开发丰富的UI交互打下坚实基础。
本篇将深入探讨如何在Android中实现属性动画的暂停和播放停止功能。 首先,我们需要了解属性动画的基本概念。与帧动画(Frame Animation)不同,属性动画不依赖于视图的绘制循环,它会直接改变对象的属性并更新UI。...
在Android开发中,动画是提升用户体验的关键因素之一。属性动画(Property Animation)系统是Android 3.0(API级别11)引入的一个重要特性,它极大地扩展了Android平台上的动画能力。ValueAnimator作为属性动画系统...
总结,Android动画原理涵盖了视图动画和属性动画,它们各自有其特点和适用场景。通过"AnimationDemo"项目,我们可以亲手实践,了解如何创建和应用这些动画,从而提升应用的交互性和视觉体验。在实际开发中,选择合适...
总结起来,实现Android中的硬币翻转动画,需要创建补间动画XML文件,定义翻转前后状态,然后在代码中加载动画并设置监听器来控制动画的循环播放。同时,添加点击事件监听器可以进一步定制交互行为,为用户提供更丰富...
本文将对Android动画进行深入的总结,涵盖基础动画、属性动画以及如何在实际项目中应用。 1. 基础动画(View Animation) Android的基础动画主要包含Alpha(透明度)、Scale(缩放)、Translate(平移)和Rotate...
总结来说,实现"android金币掉落动画"涉及到的知识点包括:Android的动画系统(属性动画和视图动画)、`ObjectAnimator`或`TranslateAnimation`的使用、插值器的应用、动画监听和事件处理,以及在不同API级别的兼容...
本篇将详细介绍如何在Android中实现PopupWindow、Activity的推出推入、缩放等动画效果。 首先,我们关注PopupWindow的动画效果。PopupWindow是一个可以浮现在Activity之上的窗口组件,通常用于创建下拉菜单、提示框...
帧动画是Android早期版本中的动画机制,适用于简单的序列动画,如播放一系列图片来形成连续的动作。它基于`AnimationDrawable`类,将多张图片打包成一个动画资源。 - 创建一个XML文件(通常位于res/anim目录下),...
Android中的动画API,如`Animation`和`Animator`类,为开发者提供了丰富的工具。`ValueAnimator`可以处理基于时间的动画,控制属性值的变化;`ObjectAnimator`则更进一步,可以直接对对象的属性进行操作。在"树干...
Android 之关机动画 Android 系统的开关机动画设计是 Android 系统中非常重要的一部分。开关机动画的设计方式可以体现出系统的美观度和用户体验度。下面我们将详细地介绍 Android 系统中的开关机动画设计。 一、...