android_属性动画
2016-03-14 01:37
666 查看
属性动画
android:3.0之后出来的。属性动画的特点和View动画是不同,
属性的动画:是控件和图片一起移动的,就是所谓的(和尚和庙一起走了.)
平移动画
public void translate(View v){ ImageView iv = (ImageView)findViewById(R.id.iv); /** * 参数一: 谁去播放这个动画 * 参数二: 属性名字 想要改变x方向的移动 * 参数三:动画执行的数值 */ ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "translationX", 0,10,80,90,100); animator.setDuration(2000);//执行的时间 animator.setRepeatCount(ObjectAnimator.INFINITE);//重复的次数 animator.setRepeatMode(ObjectAnimator.REVERSE);//重复的模式 animator.start();//启动 }
translationX,初学者,并不知道,这个属性值的名字,是怎么来的.其实
我们只需要在编译器上面使用iv. 后面就会出现很多提示 ,例如
上面例子的translationX,我就是在这里找到的
旋转动画
public void rotate(View v){ // iv.setRotationX()() ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "rotationY", 0,360); animator.setDuration(2000); animator.setRepeatCount(ObjectAnimator.INFINITE); animator.setRepeatMode(ObjectAnimator.REVERSE); animator.start(); }
缩放动画
public void scale(View v){ //iv.setScaleX() ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "scaleX", 1,3); animator.setDuration(2000); animator.setRepeatCount(ObjectAnimator.INFINITE); animator.setRepeatMode(ObjectAnimator.REVERSE); animator.start(); }
渐变动画
public void alpha(View v){ ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "alpha", 1,0); animator.setDuration(2000); animator.setRepeatCount(ObjectAnimator.INFINITE); animator.setRepeatMode(ObjectAnimator.REVERSE); animator.start(); }
集合动画
public void set(View v){ //1. 构建集合 AnimatorSet set = new AnimatorSet(); ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "translationX", 0,100); animator.setDuration(2000); //播放集合动画时候,需要setRepeatCount,setRepeatMode去掉. /* animator.setRepeatCount(ObjectAnimator.INFINITE); animator.setRepeatMode(ObjectAnimator.REVERSE);*/ //------------------------- ObjectAnimator animator2 = ObjectAnimator.ofFloat(iv, "translationY", 0,100); animator2.setDuration(2000); /*animator2.setRepeatCount(ObjectAnimator.INFINITE); animator2.setRepeatMode(ObjectAnimator.REVERSE);*/ //指定动画一起播放 // set.playTogether(animator , animator2); //按照顺序播放 set.playSequentially(animator2,animator); //播放动画 set.start(); }
属性动画使用xml配置来实现.(属性动画一般都是,使用代码来实现的)
使用xml文件定义
在res文件夹下创建一个文件夹 , animator在里面声明,动画
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="2000" android:repeatCount="infinite" android:repeatMode="reverse" android:valueFrom="0" android:valueTo="-100" android:propertyName="translationX" > </objectAnimator>
导入动画,让控件播放动画
ImageView iv = (ImageView)findViewById(R.id.iv); //导入了刚才的动画信息 Animator animator = AnimatorInflater.loadAnimator(this, R.animator.translate); animator.setTarget(iv); animator.start();
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories