Android中的动画处理可以用SurfaceView来处理,研究深的同学们可以做一些游戏什么的好玩的东西,对于浅浅的我们也只是平面的样子了下面直接说一下简单的动画的四种变换方式:

旋转、移动、缩放、淡入淡出,示例如下

public class MainActivity extends Activity {    private ImageView iv;                     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.p_w_picpathView1);        iv.setOnClickListener(new OnClickListener() {                                     @Override            public void onClick(View v) {                AnimationSet animationSet = new AnimationSet(true);                AlphaAnimation alpha = new AlphaAnimation(1, 0);                alpha.setDuration(4000);                animationSet.addAnimation(alpha);                iv.setBackgroundResource(R.drawable.i7);                iv.startAnimation(animationSet);            }        });    }                 }public class MainActivity extends Activity {    private ImageView iv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.p_w_picpathView1);        iv.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                AnimationSet animationSet = new AnimationSet(false);                RotateAnimation rotate = new RotateAnimation(0, 360,                        Animation.RELATIVE_TO_SELF, 0.5f,                        Animation.RELATIVE_TO_SELF, 0.5f);                rotate.setDuration(2000);                animationSet.addAnimation(rotate);                iv.startAnimation(animationSet);            }        });    }}public class MainActivity extends Activity {    private ImageView iv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.p_w_picpathView1);        iv.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                AnimationSet animationSet = new AnimationSet(true);                ScaleAnimation scale = new ScaleAnimation(1, 0.25f, 1, 0.25f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);                scale.setDuration(3000);                animationSet.addAnimation(scale);//              iv.setBackgroundColor(color.black);                iv.startAnimation(scale);            }        });    }}public class MainActivity extends Activity {                     private ImageView iv;                     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.p_w_picpathView1);        iv.setOnClickListener(new OnClickListener() {                                     @Override            public void onClick(View v) {                AnimationSet animationSet = new AnimationSet(false);                TranslateAnimation translate  = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1);                translate.setDuration(4000);                animationSet.addAnimation(translate);                iv.startAnimation(animationSet);            }        });    }}public class MainActivity extends Activity {    private ImageView iv;    //淡入淡出//  private AlphaAnimation a1 = new AlphaAnimation(1, 0);//  private AlphaAnimation a2 = new AlphaAnimation(0, 1);    //缩放//  private ScaleAnimation a1 = new ScaleAnimation(1, 0.25f, 1, 0.25f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);//  private ScaleAnimation a2 = new ScaleAnimation(0.25f,1,0.25f,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);    //移动//  private TranslateAnimation a1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1);//  private TranslateAnimation a2 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0);    //旋转    private RotateAnimation a1 = new RotateAnimation(0,180, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);    private RotateAnimation a2 = new RotateAnimation(180,0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);                     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.p_w_picpathView1);        iv.setBackgroundResource(R.drawable.i4);        a1.setDuration(2000);        a2.setDuration(2000);        iv.setOnClickListener(new OnClickListener() {                                     @Override            public void onClick(View v) {                iv.startAnimation(a1);                                         }        });        a1.setAnimationListener(new AnimationListener() {                                     @Override            public void onAnimationStart(Animation animation) {            }                                     @Override            public void onAnimationRepeat(Animation animation) {                // TODO Auto-generated method stub                                         }                                     @Override            public void onAnimationEnd(Animation animation) {                iv.startAnimation(a2);                                         }        });    }                 }

效果请在模拟器中观察哈~

更多相关文章

  1. android多图拼接长图并合理显示
  2. OpenGL ES2.0实现手指滑动平移、双指缩放Android
  3. Android动画详解之Android动画属性和实现方法(一)
  4. Android(安卓)ImageView ScaleTypes介绍
  5. 分享:android图片浏览器—类微信朋友圈相片浏览【android代码下载
  6. android图形图像函数汇集
  7. Android(安卓)bitmap 图片缩放,压缩处理
  8. imageView属性之imageView.setScaleType详解
  9. Android(安卓)根据屏幕尺寸适配控件尺寸(按比例缩放)

随机推荐

  1. CSS伪类选择器,引入字体图标,盒模型以及em
  2. 媒体查询,固定定位,flex属性
  3. rem+vw布局的原理,grid布局属性
  4. ubuntu20 源码安装nginx以及常用命令
  5. JavaScript中的流程控制与函数
  6. JS初识变量及函数学习
  7. html测试题小结
  8. Java使用JDBC连接数据库的详细步骤
  9. rem+vw布局的原理与rem的设置技巧
  10. JS函数类型与数据类型学习