ScaleAnimation类:尺寸变化动画类
9.4 ScaleAnimation类:尺寸变化动画类
ScaleAnimation类是Android系统中的尺寸变化动画类,用于控制View对象的尺寸变化,该类继承于Animation类。ScaleAnimation类中的非常多方法都与Animation类一致,该类中最经常使用的方法便是ScaleAnimation构造方法。
【基本的语法】public ScaleAnimation (float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
參数说明
fromX:起始X坐标上的伸缩尺寸。
toX:结束X坐标上的伸缩尺寸。
fromY:起始Y坐标上的伸缩尺寸。
toY:结束Y坐标上的伸缩尺寸。
pivotXType:X轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotXValue:X坐标的伸缩值。
pivotYType:Y轴的伸缩模式,能够取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotYValue:Y坐标的伸缩值。
【实例演示】以下通过代码来演示怎样设置一个简单的尺寸变化动画效果。
- public class firstActivity extends Activity {
- /** Called when the activity is first created. */
- @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 scaleAnimation= new
- ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
- //设置尺寸变化动画对象
- btn1.setOnClickListener(new View.OnClickListener() { //设置监听器
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- scaleAnimation.setDuration(2000); //动画持续时间
- image.setAnimation(scaleAnimation); //设置动画
- scaleAnimation.startNow(); //启动动画
- }
- });
- btn2.setOnClickListener(new View.OnClickListener() { //设置监听器
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- scaleAnimation.cancel(); //取消动画运行
- }
- });
- }
- }
在这段代码中,首先通过ScaleAnimation构造方法创建了一个尺寸变化的动画对象。然后,在第一个button监听器中设置了动画的持续时间,之后启动该动画。在第二个button监听器中取消该动画。读者执行这段代码,将看到图片从小到大逐渐变化,如图9.9所看到的。最后,图片增大到原始尺寸的时候停止,如图9.10所看到的。
|
| 图9.9 尺寸变化动画 |
|
| 图9.10 原始尺寸图片 |
ScaleAnimation类:尺寸变化动画类的更多相关文章
- Android ScaleAnimation类:尺寸变化动画类
ScaleAnimation类是Android系统中的尺寸变化动画类,用于控制View对象的尺寸变化,该类继承于Animation类. ScaleAnimation类中的很多方法都与Animation ...
- iOS常用动画 类封装
//这是一个很好的动画封装类 很容易明白很详细 和大家分享 // CoreAnimationEffect.h // CoreAnimationEffect // // Created by Vince ...
- cocos2d 播放GIF动画类
cocos2d 播放GIF动画类 以前项目中曾经用到过,后来因为GIF图像的质量较差,被弃用了,把公司名字去掉分享下,根据网上资料改编的cocos2d-iphone版的. // // CCSprite ...
- 【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 之前我们已经学习过一些方法让节点“动”起来,Co ...
- 直播类送礼动画<豪华礼物+小礼物>
直播类送礼动画<豪华礼物+小礼物>:代码会持续更新,现直播的app里内有太多的动画,由于时间关系不能一次共享所有动画聘为,这次先共享几个比较火爆的动画. 支持真机和模拟器上运行,最低支持i ...
- 扩展 WPF 动画类
原文:扩展 WPF 动画类 扩展 WPF 动画类 Charles ...
- 【Unity】10.4 类人动画角色的控制
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了.以下部分涵盖 Mecanim 提供的.用 ...
- 【Unity】10.3 创建类人动画角色
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Mecanim 动画系统 (Mecanim Animation System) 特别适合使用类人骨架动画.由于类人骨架非 ...
- 【Unity】10.1 类人动画的导入和设置
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.制作或购买类人模型 为了充分使用 Mecanim 类人动画系统和类人动画的动画重定位功能,需要先使用其他3D建模软件(例如3d ...
随机推荐
- UIScrollView方法 属性详解
--前言:UIScrollView使用非常广,本文研究UIScrollView各属性和方法,明白它们的意义.作用.在后面的一篇文章有整理UIScrollView一些常见用法以及一些效果的实现思路. - ...
- hdu 1251 统计难题 初识map
Problem Description Ignatius近期遇到一个难题,老师交给他非常多单词(仅仅有小写字母组成,不会有反复的单词出现),如今老师要他统计出以某个字符串为前缀的单词数量(单词本身也是 ...
- POJ 3422 Kaka's Matrix Travels (最小费用最大流)
POJ 3422 Kaka's Matrix Travels 链接:http://poj.org/problem? id=3422 题意:有一个N*N的方格,每一个方格里面有一个数字.如今卡卡要从左上 ...
- C#动态增加边框
if (this.Width >= 600) { timer1.Enabled = false; } else { this.Width += 30; }
- extern、static、auto、register 定义变量的不同用法
首先得说明什么叫“编译单元”.每个 .c 文件会被编译为一个 .o 文件,这个就是一个编译单元.最后所有的编译单元被链接起来,就是一个库或一个程序. 一个变量/函数,只要是在全局声明的,链接之后都隐含 ...
- 京香julia_百度百科
京香julia_百度百科 京香julia
- 创建用于编译和运行Java程序的批处理文件
创建用于编译和运行Java程序的批处理文件 每次编译或运行Java程序时,都要在DOS命令行中输入很长的javac或java命令,悟空觉得太麻烦,就编写了一个适用于Windows操作系统的批处理文件b ...
- ADO.NET 2SqlDataAdapter、DataSet 的基本用法
数据集完全独立于数据源,可以与数据源链接或者完全断开,其基本作用是为存储在内存缓存中的的数据提供关系视图 如果只是想读取和显示数据,则值需要使用数据读取器,尤其是处理大量数据的时候 如果需要处理数据, ...
- Java:Java快速入门
链接地址:http://www.cnblogs.com/happyframework/p/3332243.html 你好,世界! 源代码组织方式 Java程序由package+class组成,pack ...
- BZOJ 2693: jzptab( 莫比乌斯反演 )
速度居然#2...目测是因为我没用long long.. 求∑ lcm(i, j) (1 <= i <= n, 1 <= j <= m) 化简之后就只须求f(x) = x∑u( ...