动画总结:不管什么动画、透明还是大小、位置、四个动画可以改变的特效很多!但是其中有一个特效是不叫棘手的就是移动特效!假如我现在要做一个仿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帧动画和补间动画总结,帧动画和补间动画代码实现。
介绍Android动画AnimationSet,RotateAnimation等基本用法。
android移动开发总结动画效果,实现火焰动画
Android三种动画的基本实现总结,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/76036753
此Demo主要介绍Android属性动画的基本用法 Demo的博客地址:http://blog.csdn.net/u012814441/article/details/49026367
Android动画合集,对Android动画所进行的最基础的总结,适合初学者,并没有什么酷炫的效果。
Android属性动画示例Demo,附带个人总结的属性动画相关知识树。
Android动画总结
android动画大全,经过自己总结反思,很高兴能与大家分享
Share Element 基于Android 系统的动画总结
属性动画的demo,里面总结了属性动画的比较常用的一些效果,移动,旋转,文字弹跳,文字下坠等。
对android中的动画做了个总结,是个android初学者!
文章开篇总结性文章:《Android 一共有多少种动画?准确告诉你!》 Ⅰ. View Animation / 视图动画 English explanation can go to read this article Ⅱ. Drawable Animation / 帧动画 / Frame 动画 English ...
介绍Android动画AnimationSet,RotateAnimation等基本用法。
Android动画效果编程基础 Android的animation由四种类型组成 ndroid动画总结 逐帧动画(frame-by-frame animation),这种动画和GIF一样,一帧一帧的显示来组成动画效果;
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果。其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建animation-list为根节点的资源文件 ...
Android帧动画基本实现,附带自己总结的帧动画知识树