Android的官方文档关于开发界面特效的文章和经验已经很多,我之所以写这段动画效果代码是因为发现很多文章通过xml资源去布局各种效果的,如果效果是动态变化的呢,比如我点击的图片位置是变化,需要飞入到一个指定的位置,代码如下:
- mGridView.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
- long arg3) {
- AnimationSet set =new AnimationSet(true);
- ScaleAnimation scaleAnim = new ScaleAnimation (1.0f,0.0f,1.0f,0.0f,0.5f,0.5f);
- set.addAnimation(scaleAnim);
- int left=arg1.getLeft();
- int top=arg1.getTop();
- int bottom=arg1.getBottom();
- int right=arg1.getRight();
- int width=arg1.getWidth();
- int height=arg1.getHeight();
- TranslateAnimation tranAnim=new TranslateAnimation(
- Animation.ABSOLUTE,
- arg1.getLeft(),Animation.ABSOLUTE,0,
- Animation.ABSOLUTE,arg1.getTop(),
- Animation.ABSOLUTE,512);
- set.addAnimation(tranAnim);
- set.setInterpolator(selectInterpolator);
- set.setDuration(800);
- arg1.startAnimation(set);
- }
- });