ObjectAnimator属性动画应用demo
感谢慕课网--eclipse_xu
布局文件:activity_main.xml
1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 tools:context="com.example.animationapp.MainActivity" > 6 7 <ImageView 8 android:id="@+id/im0" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:paddingLeft="3dp" 12 android:paddingTop="3dp" 13 android:src="@drawable/b" /> 14 15 <ImageView 16 android:id="@+id/im1" 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:paddingLeft="3dp" 20 android:paddingTop="3dp" 21 android:src="@drawable/c" /> 22 23 <ImageView 24 android:id="@+id/im2" 25 android:layout_width="wrap_content" 26 android:layout_height="wrap_content" 27 android:paddingLeft="3dp" 28 android:paddingTop="3dp" 29 android:src="@drawable/d" /> 30 31 <ImageView 32 android:id="@+id/im3" 33 android:layout_width="wrap_content" 34 android:layout_height="wrap_content" 35 android:paddingLeft="3dp" 36 android:paddingTop="3dp" 37 android:src="@drawable/e" /> 38 39 <ImageView 40 android:id="@+id/im4" 41 android:layout_width="wrap_content" 42 android:layout_height="wrap_content" 43 android:paddingLeft="3dp" 44 android:paddingTop="3dp" 45 android:src="@drawable/f" /> 46 47 <ImageView 48 android:id="@+id/im5" 49 android:layout_width="wrap_content" 50 android:layout_height="wrap_content" 51 android:paddingLeft="3dp" 52 android:paddingTop="3dp" 53 android:src="@drawable/g" /> 54 55 <ImageView 56 android:id="@+id/im6" 57 android:layout_width="wrap_content" 58 android:layout_height="wrap_content" 59 android:paddingLeft="3dp" 60 android:paddingTop="3dp" 61 android:src="@drawable/h" /> 62 63 <ImageView 64 android:id="@+id/im7" 65 android:layout_width="wrap_content" 66 android:layout_height="wrap_content" 67 android:src="@drawable/a" /> 68 69 </FrameLayout>
View Code
图片资源
MainActivity.java
1 package com.example.animationapp; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import android.support.v7.app.ActionBarActivity; 7 import android.animation.ObjectAnimator; 8 import android.os.Bundle; 9 import android.view.Menu; 10 import android.view.MenuItem; 11 import android.view.View; 12 import android.view.View.OnClickListener; 13 import android.view.animation.BounceInterpolator; 14 import android.widget.ImageView; 15 import android.widget.Toast; 16 17 public class MainActivity extends ActionBarActivity implements OnClickListener { 18 19 private int[] res = {R.id.im0, R.id.im1,R.id.im2, 20 R.id.im3,R.id.im4,R.id.im5,R.id.im6,R.id.im7}; 21 22 private List<ImageView> list = new ArrayList<ImageView>(); 23 24 private boolean flag = true; 25 26 @Override 27 protected void onCreate(Bundle savedInstanceState) { 28 super.onCreate(savedInstanceState); 29 setContentView(R.layout.activity_main); 30 31 initView(); 32 } 33 34 private void initView() { 35 36 for(int i = 0; i < res.length; i++){ 37 ImageView im = (ImageView) findViewById(res[i]); 38 im.setOnClickListener(this); 39 list.add(im); 40 } 41 } 42 43 @Override 44 public void onClick(View v) { 45 switch(v.getId()){ 46 //im7最后布局,叠加在最上面 47 case R.id.im7:{ 48 49 if(flag){ 50 startAnimation(); 51 flag = false; 52 }else{ 53 closeAnimation(); 54 flag = true; 55 } 56 break; 57 } 58 59 default: 60 Toast.makeText(MainActivity.this, v.getId()+"OK", Toast.LENGTH_SHORT).show(); 61 break; 62 } 63 } 64 65 private void closeAnimation() { 66 for(int i = 0 ;i<res.length-1; i++){ 67 ObjectAnimator oa = ObjectAnimator.ofFloat(list.get(i), 68 "translationY",i*200F, 0F ); 69 oa.setDuration(100); 70 //oa.setStartDelay(50*i); 71 oa.start(); 72 } 73 } 74 75 private void startAnimation() { 76 //此处只需要弹出其余7个图标,最上边的图标im7不动 77 for(int i = 0 ;i<res.length-1; i++){ 78 //属性动画操作类 79 ObjectAnimator oa = ObjectAnimator.ofFloat(list.get(i), 80 "translationY", 0F, i*200F); 81 oa.setDuration(200); 82 //oa.setInterpolator(new BounceInterpolator()); 83 //oa.setStartDelay(200*i); 84 oa.start(); 85 } 86 } 87 88 }
View Code
转载于:https://www.cnblogs.com/gongxing/p/4887303.html
ObjectAnimator属性动画应用demo相关推荐
- 走进绚烂多彩的属性动画-Property Animation(上篇)
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52273733 出自[zejian的博客] 关联文章: 走进绚烂多彩的 ...
- Android VectorDrawable 矢量图+属性动画 使用总结
代码已经同步到GitHub 然后看一下效果图: 前两个图标是让android的组件使用VectorDrawable 后面的是动画效果 后面会详细介绍. 什么是VectorDrawable Vector ...
- Android 属性动画(Property Animation) ObjectAnimator的介绍
先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...
- Android属性动画 ObjectAnimator
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118709616 本文出自[赵彦军的博客] 文章目录 ObjectAnimator ...
- (转)Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
版权声明:本文出自郭霖的博客,转载必须注明出处. 目录(?)[-] ValueAnimator的高级用法 ObjectAnimator的高级用法 转载请注明出处:http://blog.csdn.ne ...
- android 属性动画实例,Android属性动画完全解析 中 ,ValueAnimator和ObjectAnimator的高级用法...
大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画进行了 ...
- android 自定义view如何控制view的高度_Android自定义View属性动画
属性动画 DEMO地址:https://github.com/chaozhouzhang/CustomProgressView 1.值动画 ValueAnimator 值动画具体实现步骤: /** * ...
- 属性动画基础之ValueAnimator
概述 属性动画是谷歌在android3.0(API level 11)时候给我们带来了属性动画,真正意义上带来了"动画",以前的帧动画也就4中效果的组合(旋转.淡入淡出.放大缩小. ...
- android开发笔记之属性动画
属性动画简单介绍 作用对象:任意 Java 对象 不再局限于 视图View对象 实现的动画效果:可自定义各种动画效果 不再局限于4种基本变换:平移.旋转.缩放 & 透明度 特点 作用对象进行了 ...
最新文章
- HTML代码编写规范
- 《乐高EV3机器人搭建与编程》——2.2 颜色设计
- XML 序列化 【译】
- MyBatis中Mapper代理方式
- 华为库存至少够缓冲一年;张朝阳质疑 5G 微波危害;苹果iOS 13不受支持机型曝光 | 极客头条...
- python将列表写入文件_Python将列表数据写入文件(txt, csv,excel)
- 打造狂拽炫酷的主流自定义侧滑控件(仿酷狗和QQ5.0)
- CAD图纸格式转换怎么操作?如何转换常见图纸格式?
- dx逆向建模步骤_初级反求逆向建模(一)
- 如何让word中清晰的图片无损导出为pdf?
- 人机平台:商业未来行动路线图
- 编译内核出错:Unable to find the ncurses package. recipe for target ‘scripts/kconfig/.mconf-cfg‘ failed
- 数据处理笔记6:缺失值填充
- web前端新手入门:中国互联网的发展史
- 几种操作系统的基本特点
- keras 使用WGAN-div进行图像生成
- OSError: [WinError 1455] 页面文件太小,无法完成操作
- 6-DoF问题相关基础知识笔记
- gitee 从 拉取新分支到本地_git fetch 的简单用法:更新远程代码到本地仓库
- windows 安装包管理器scoop
热门文章
- 专家观点:即使在云中 硬件同样至关重要
- pku acm 2140 Herd Sums http://acm.pku.edu.cn/JudgeOnline/problem?id=2140
- 【Vegas原创】恢复Oracle Package的笨方法
- linux系统的运行定义在,Linux系统运行级管理
- 全国计算机等级考试题库二级C操作题100套(第66套)
- java 动态按钮_java-向片段动态添加按钮
- mysql读锁和写锁
- mysql删除delete语句
- php组装json数据包,php封装json通信接口详解及实例
- 史上最全的Nginx配置参数中文说明