Android快速开发 动画系列(一) 之 TranslateAnimation(平移动画)
TranslateAnimation类:位置变化动画类
TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation类。TranslateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是TranslateAnimation构造方法。
【基本语法】
public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
## 参数说明 ##
fromXDelta:位置变化的起始点X坐标。
toXDelta:位置变化的结束点X坐标。
fromYDelta:位置变化的起始点Y坐标。
toYDelta:位置变化的结束点Y坐标。
【实例演示】下面通过代码来演示如何设置一个简单的位置变化动画效果。
public class firstActivity extends Activity { @Override
public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象 Button btn1=(Button)findViewById(R.id.button1); //按钮对象 Button btn2=(Button)findViewById(R.id.button2); final Animation translateAnimation=new TranslateAnimation(0,300,0,300); //位置变化动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 translateAnimation.setRepeatCount(2); //设置重复次数 translateAnimation.setRepeatMode(Animation.REVERSE); //反方向执行 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消动画执行 } });
}
}
在这段代码中,首先通过TranslateAnimation构造方法创建了一个位置变化的动画对象。然后,在第一个按钮监听器中设置了动画的持续时间、重复次数和重复模式等,然后启动该动画。在第二个按钮监听器中取消该动画。读者运行这段代码,将看到图片沿如图9.7所示的路径往返运动。
package comdsfasdafsa.sdf;import android.app.Activity;public class TestActivity extends Activity { public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.Image); //ImageView对象 Button btn1=(Button)findViewById(R.id.button1); //按钮对象 Button btn2=(Button)findViewById(R.id.button2); final Animation translateAnimation=new TranslateAnimation(0,200,0,200); //移动动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 translateAnimation.setFillAfter (true); //保留在终止位置 translateAnimation.setFillEnabled(true); //使能填充效果 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } });btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消动画执行 } });
}
}
Android快速开发 动画系列(一) 之 TranslateAnimation(平移动画)相关推荐
- android app启动图片 加动画效果,Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案...
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案 大家在设计APP的末期,都会想给APP搞一些"花里胡哨"的特效来提高APP的B格.博主表示亲测有效 ...
- Android 快速开发系列 打造万能的ListView GridView 适配器
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38902805 ,本文出自[张鸿洋的博客] 1.概述 相信做Android开发的写 ...
- 提供了一些工具类以及自定义 View,用于日常的 Android 快速开发
Androids 项目地址:1993hzw/Androids 简介:提供了一些工具类以及自定义 View,用于日常的 Android 快速开发.something about android 更多: ...
- Android快速开发不可或缺的11个工具类(下载)
Android快速开发不可或缺的11个工具类(下载) 源码简介 Android快速开发不可或缺的11个辅助类,其中10个来自张鸿洋的博客,1个是我平时积攒的,复制粘贴到你的项目里,添加上包名就可以直接 ...
- Android应用开发提高系列(5)——Android动态加载(下)——加载已安装APK中的类和资源...
前言 Android动态加载(下)--加载已安装APK中的类和资源. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://ov ...
- android 快速开发工具类,android面试知识点
项目地址:570622566/FastAndrUtils 简介:android 快速开发工具类 更多:作者 提 Bug 官网 标签: Fastandrutils 是一套整理修改整合的 and ...
- 【转】 Android快速开发系列 10个常用工具类 -- 不错
原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj6235 ...
- Android快速开发系列 10个常用工具类
目录(?)[+] 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基 ...
- Android快速开发整理(库、插件,kotlin枚举注解
RxAndroid implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' Github:https://github.com/ReactiveX/ ...
最新文章
- 深度讲解:web前端性能优化
- 2018-2019-2 网络对抗技术 20165230 Exp9 :Web安全基础
- 模块mod_h323的编译
- PerfLab(直接在服务器上完成)
- html5做的太阳系
- 自顶向下和自底向上测试的优缺点
- NSString,最美的创建方式也最毒
- 22.创建DockWidget
- json字符串使用注意问题
- cuda 10.1和 cudnn 7.6.5
- MySQL事务(脏读、不可重复读、幻读)
- 51单片机外围模块——DS1302时钟模块
- python绘制缓和曲线_CAD里面如何绘制缓和曲线
- 二等分计算机打印机尺寸,[有赞零售] 【教程贴】打印机如何设置一等分、二等分、三等分打印尺寸...
- java实现微信网页授权登录
- SATA、mSATA 、PCIe和M.2——SSD硬盘的接口详解
- uniapp 微信小程序 保存图片到本地
- 相机对焦和调焦距的区别是什么 ?
- No matching provisioning profiles found 真机测试问题
- vue路由守卫beforeEach和afterEach
热门文章
- AnyViewer——局域网外远程控制电脑
- 【新手必看】用EVEREST Ultimate Edition来生成硬件报告
- tedu斌-MySql笔记2112-2
- 爱心日式便当 给爸爸妈妈的爱心便当 - 网易河南
- 苹果笔要不要买原装的?ipad pencil平替有压感的笔
- android 取mac地址,Android手机获取Mac地址的几种方法,androidmac
- 生物钟的研究、功能和机理——2017年度诺贝尔生理学或医学奖成果简析
- c++ 子类对象调用父类的方法
- 精辟:一个小公司老板的日常管理
- 资深国外3D建模师的经验分享以及对新入行的建模师的建议