android 动画基础绘——view 动画[补]

沉舟侧畔千帆进,病树前头万木春。这篇文章主要讲述android 动画基础绘——view 动画[补]相关的知识,希望能为你提供帮助。
前言
这个是对view 动画的补充,是一些view 动画的特殊使用场景。
回顾第一篇关于view 动画的,我介绍到view的动画都是针对元素本身的。
当我们开发view动画的时候,我们看到几个元素在做相同规律的变化,如果我们去一个个设置的话,当然是可以的,但是呢一个代码不美观。
同样我们看到,我们进入下一个页面的时候,那么有一个切换动画。这些基本都可以用view 动画实现。
正文
activity 切换效果

Intent intent=new Intent(this,demo.class); startActivity(intent); overridePendingTransition(R.anim.enter_anim,R.anim.enter_anim);

@Override publicvoid finish() { super.finish(); overridePendingTransition(R.anim.enter_anim,R.anim.enter_anim); }

上面两串代码分别是入场动画,和出场动画。
值得注意的是:
动画本身一定要在startActivity和finish 后面。
其实这个也非常好理解,虽然我没有去看源代码,到时可以肯定的时候,这时候去拿到了当前被压栈的view。
fragment 也可以添加切换动画:在此就不介绍都一样。
viewgroupviewgroup 在我理解中是容器一样,也就是里有子元素。看下它是如何控制子元素的变化吧。
< ?xml version=" 1.0" encoding=" utf-8" ?> < layoutAnimation android:delay=" 0.5" android:animationOrder=" normal" android:animation=" @anim/enter_anim" xmlns:android=" http://schemas.android.com/apk/res/android" > < /layoutAnimation>

android:animationOrder 设置我们动画的顺序,比如说有5个元素,是让他们一个一个按照顺序来呢,还是随机呢。
如果android:animationOrder设置为0,那么是毫无一样的,无论是一个一个顺序来或者随机,如果没有延迟,那么将无意义。
android:delay 为0.5,是相当于android:animation=" @anim/enter_anim" 中的during而言的。
比如:
< ?xml version=" 1.0" encode=" utf-8" ?> < set xmlns:android=" http://schemas.android.com/apk/res/android" android:duration=" 200" > < /set>

android:duration=" 200" ,那么就是延迟1秒。
groupview 去加载时候:
< ListView android:layout_width=" match_parent" android:layout_height=" match_parent" android:layoutAnimation=" @anim/layout_anim" > < /ListView>

【android 动画基础绘——view 动画[补]】这样设置就是一开始就执行。
那么我们依然可以控制:
ListView listView=(ListView)findViewById(R.id.list); Animation animation =AnimationUtils.loadAnimation(this,R.anim.enter_anim); LayoutAnimationController controller =new LayoutAnimationController(animation); controller.setDelay(0.5f); controller.setOrder(LayoutAnimationController.ORDER_NORMAL); listView.setLayoutAnimation(controller);


    推荐阅读