ObjectAnimator属性动画应用demo
2015-10-17 12:43
447 查看
感谢慕课网--eclipse_xu
布局文件:activity_main.xml
View Code
布局文件:activity_main.xml
package com.example.animationapp; import java.util.ArrayList; import java.util.List; import android.support.v7.app.ActionBarActivity; import android.animation.ObjectAnimator; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.BounceInterpolator; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends ActionBarActivity implements OnClickListener { private int[] res = {R.id.im0, R.id.im1,R.id.im2, R.id.im3,R.id.im4,R.id.im5,R.id.im6,R.id.im7}; private List<ImageView> list = new ArrayList<ImageView>(); private boolean flag = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { for(int i = 0; i < res.length; i++){ ImageView im = (ImageView) findViewById(res[i]); im.setOnClickListener(this); list.add(im); } } @Override public void onClick(View v) { switch(v.getId()){ //im7最后布局,叠加在最上面 case R.id.im7:{ if(flag){ startAnimation(); flag = false; }else{ closeAnimation(); flag = true; } break; } default: Toast.makeText(MainActivity.this, v.getId()+"OK", Toast.LENGTH_SHORT).show(); break; } } private void closeAnimation() { for(int i = 0 ;i<res.length-1; i++){ ObjectAnimator oa = ObjectAnimator.ofFloat(list.get(i), "translationY",i*200F, 0F ); oa.setDuration(100); //oa.setStartDelay(50*i); oa.start(); } } private void startAnimation() { //此处只需要弹出其余7个图标,最上边的图标im7不动 for(int i = 0 ;i<res.length-1; i++){ //属性动画操作类 ObjectAnimator oa = ObjectAnimator.ofFloat(list.get(i), "translationY", 0F, i*200F); oa.setDuration(200); //oa.setInterpolator(new BounceInterpolator()); //oa.setStartDelay(200*i); oa.start(); } } }
View Code
相关文章推荐
- Objective-C 程序设计 第三章
- 学习prototypejs中的继承实现机制(一): Object.extend()、Class.create()、Class#addMethods()的使用
- DOM -----Document Object Model
- OC第三天 继承总结
- 快速发展的Swift是否将淘汰Objective-C?
- Objective-C中的@property
- for(object obj :args)
- 【前端学习】javascript对象Object
- Objc-C 知识点回顾 二 实例变量 、方法
- Objc-C 知识点回顾 一 类、 对象
- Objective-C的hook方案(一): Method Swizzling
- 【数据存储】coredata、sqlite、fmdb和sqlitepersistentobject
- [Object-C]iOS9适配系列教程
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- Object-C 零碎知识点笔记
- objc_setAssociatedObject的用法,解决UIAlertView按钮传值问题
- oc 数组Array
- js如何打印object对象
- Fixed Objects Statistics and why they are important
- Foundation 之 NSString和NSMutableString