Android animation
2016-04-08 09:50
302 查看
代码实现动画效果
步骤:
1. 设置xml
2. 编写java文件
步骤:
1. 设置xml
2. 编写java文件
/* * 旋转的x轴类型(三种): * 1. ABSOLUTE : 绝对值 * 2. RELATIVE_TO_SELF : 相对于自身 * 3. RELATIVE_TO_PARENT: 相对于父控件 **/ private class RotateButtonListener implements View.OnClickListener { @Override public void onClick(View view) { AnimationSet animationSet = new AnimationSet(true); RotateAnimation rotateAnimation = new RotateAnimation(0, 360,//旋转0~360度,0为12点钟方向 Animation.RELATIVE_TO_PARENT, 1f, //旋转的x轴类型,具体x的值——1f为整个父控件的宽 Animation.RELATIVE_TO_PARENT, 0f); //旋转的y轴类型,y值 rotateAnimation.setDuration(2000); //持续时间 animationSet.addAnimation(rotateAnimation); //RotateAnimation加入到AnimationSet imageView.startAnimation(animationSet); } } /* * 缩小 **/ private class ScaleButtonListener implements View.OnClickListener { @Override public void onClick(View view) { AnimationSet animationSet = new AnimationSet(true); ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.1f, 1, 0.1f,//x轴大小从1~0.1,y轴从1~0.1 Animation.RELATIVE_TO_SELF, 0.5f, //以圆心(x,y)进行缩放 Animation.RELATIVE_TO_SELF, 0.5f); animationSet.addAnimation(scaleAnimation); animationSet.setStartOffset(1000); //动画开始之前的等待时间 animationSet.setFillAfter(true); //保持动画结束的状态 animationSet.setFillBefore(false); //回到动画开始前的状态(false) animationSet.setDuration(2000); //动画时间 imageView.startAnimation(animationSet); } } /* * 渐渐淡出效果: * 1. 创建一个AnimationSet对象 * 2. 创建一个AlphaAnimation对象 **/ private class AlphaButtonListener implements View.OnClickListener { @Override public void onClick(View view) { AnimationSet animationSet = new AnimationSet(true); //创建一个AnimationSet对象 AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);//从完全透明到完全不透明 alphaAnimation.setDuration(1000); //设置动画执行的时间(单位:毫秒) animationSet.addAnimation(alphaAnimation);//将AlphaAnimation对象添加到AnimationSet当中 imageView.startAnimation(animationSet); //使用ImageView的startAnimation方法开始执行动画 } } private class TranslateButtonListener implements View.OnClickListener { @Override public void onClick(View view) { AnimationSet animationSet = new AnimationSet(true); TranslateAnimation translateAnimation = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0f, //x-start Animation.RELATIVE_TO_SELF, 0.5f, //x-end Animation.RELATIVE_TO_SELF, 0f, //y-start Animation.RELATIVE_TO_SELF, 1.0f); //y-end translateAnimation.setDuration(1000); animationSet.addAnimation(translateAnimation); imageView.startAnimation(animationSet); } }
相关文章推荐
- Android Studio 开发问题记录
- android获取屏幕像素密度DPI,与density
- Github开源Android组件资源整理
- Android开发学习笔记:Intent的简介以及属性的详解
- 已知条件圆上的半径,部分圆弦占总圆的百分比,求圆边上每一个坐标点
- Android学习(6) -- 电话拨号器
- Android学习(7) -- 点击事件的四种写法
- Android自动检测版本及自动升级
- Android错误集锦
- 【Android】Android中期项目设计题目-界面设计小作业
- 第六周Android实习笔记
- Android实战简易教程-第七十二枪(PopupWindow浮动窗)
- Android学习(4) -- Android项目的目录结构
- Android学习(5) -- 常用的adb指令
- Android期中项目设计
- 你应该知道的那些Android小经验
- android调用第三方库
- [转]ANDROID NOTIFICATIONS USING CORDOVA AND IONIC
- Android Studio 的JavaDoc 工具使用
- Android中ListView动态加载数据