通过编码和xml文件两种方式实现tween动画
来源:互联网 发布:人工智能真的来了杨澜 编辑:程序博客网 时间:2024/04/29 19:15
tween有四种动画效果:alpha(透明)、rotate(旋转), translate(移动),scale(缩放);
可以通过硬编码和xml文件这两种方式来实现。
xml实现:
第一步:在项目的res文件下面新建一个文件夹名字是anim(必须)
第二步:在anim文件夹下面新建新的xml文件,在xml文件中具体设置动画效果
第三步:在Activity中使用 AnimationUtils.loadAnimation(MainActivity.this,R.anim.xx);来获取。
1、alpha
alpha的xml配置文件:
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="5000" android:fillAfter="true" android:fromAlpha="1.0" android:toAlpha="0.0" ></alph
在上面的代码中
duration:执行这个动画要用的时间
fillAfter:动画执行结束后是否停留在动画的最后一帧,默认为false,当动画结束后图片会回到开始的位置
fromAlpha:开始时的透明度
toAlpha:结束时的透明度
alpha的View:
<ImageView android:id="@+id/iv_alpha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <Button android:id="@+id/bt_alpha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/iv_alpha" android:text="透明" />成员变量:
private ImageView ivalpha, ivrotate, ivtranslate, ivscale;private Animation alphaAnimation, rotateAnimation, translateAnimation,scaleAnimation;private Button btalpha, btrotate, bttranslate, btscale;
btalpha的点击事件:
alphaAnimation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.alpha);ivalpha.startAnimation(alphaAnimation);
这样一个完整的alpha动画就完成了。
2、scale
scale的xml文件:
<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="1" android:fromYScale="1" android:toXScale="0" android:toYScale="0" android:duration="5000"></scale>
fromXScale、fromYScale:动画开始时X轴和Y轴的缩放比例,比如:fromXScale为0.5,fromYScale为2,那么图片的宽就变为原来的一半,高为原来的2倍然后再开始缩放。
toXScale、toYScale: 结束时的图片X轴和Y轴的缩放比例.
编码实现:
1、创建Animation对象
2、设置动画的参数
3、ImageView设置setAnimation
translate
<ImageView android:id="@+id/iv_translate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@id/bt_alpha" android:src="@drawable/ic_launcher" /> <Button android:id="@+id/bt_translate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@id/iv_translate" android:text="移动" />
bttranslate的点击事件:
translateAnimation=new TranslateAnimation(0, 100, 0, 100); translateAnimation.setDuration(2000); ivtranslate.setAnimation(translateAnimation);
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)fromXDelta:开始的X轴坐标位置
toXDelta:结束时x轴坐标的位置
fromYDelta:开始的y轴坐标位置
toYDelta:结束时y轴坐标的位置
这是一个图片移动的动画效果。
rotate
rotateAnimation=new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotateAnimation.setDuration(2000); rotateAnimation.setFillAfter(true); ivrotate.setAnimation(rotateAnimation);
new RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue);
fromDegrees:开始旋转时图片的角度
toDegrees:旋转到什么角度
pivotXType:以哪里为参考旋转,在这里是图片本身
pivotXValue:以本身哪个点开始旋转,这里是图片宽度的一半,也就是图片中心点。
- 通过编码和xml文件两种方式实现tween动画
- Tween动画 xml文件实现
- Android Animation 两种动画实现 Tween Animation和Frame Animation
- Animation Tween动画可以通过java代码实现,也可以通过xml布局来实现
- Android xml形式实现Tween动画
- 【Android 基础】Animation 动画介绍和实现【帧动画和Tween动画【在代码和xml中实现】】
- 【Android】两种动画介绍(Tween动画、Frame动画)
- 【Android】两种动画介绍(Tween动画、Frame动画)
- android Tween Animations(动画效果-XML文件实现)的使用
- Tween动画xml
- 逐帧动画 两种实现方式 css和js
- xml的两种编码方式
- Android Tween动画的四种方式
- android两种动画 Tween Animation和Frame Animation使用方法总结 (转载 写的很好)
- Tween动画的实现
- Tween动画实现过程
- 两种方式实现购物车动画
- 两种方式实现加载动画
- 黑马程序员 java基础24天 GUI编程学习总结
- 修饰模式
- 动画=重绘+交换
- 【Python笔记】python第三方库lxml源码安装&&使用笔记
- 进程保护(一)
- 通过编码和xml文件两种方式实现tween动画
- 黑马程序员_ java面对对象——包package
- 统计一篇英文中每个单词出现的次数
- Ubuntu无法关机解决办法
- 开发指南专题七:JEECG微云快速开发平台查询HQL过滤器
- 3Sum Closest
- Linux ACE5.6无root安装(2014.5.14)/ldd a.out not found xx.so
- 有一个母羊,第2年和第4年可以生一头小母羊,在第5年死去,小母羊在它出生的第2年和第4年生小母羊,第5年死去,求第N年有多少个母羊
- 原生js的String类扩展