本文主要是介绍Animation的学问,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
动画加载的三种方式
第一种
注意AnimationUtils的使用,这里 少了很多麻烦的事情,代码的具体的类需要指定的东西过多,这里写好xml加载进来,让动画尽情的转起来
private void showHead(View head, View content) {head.startAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_out_top));content.startAnimation(AnimationUtils.loadAnimation(this, R.anim.content_down));content.setPadding(0, 200, 0, 0);}
<set xmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/decelerate_interpolator"><translateandroid:duration="5000"android:fromYDelta="-200"android:toYDelta="0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/decelerate_interpolator"><translateandroid:duration="5000"android:fromYDelta="-200"android:toYDelta="0" />
</set>
利用系统的AnimationUtils进行动画的播放,这里面可以省掉自己书写很多的参数也算是比较方便
第二种方式:.
int version = Integer.valueOf(android.os.Build.VERSION.SDK);if(version > 5 ){overridePendingTransition(R.anim.zoomin, R.anim.zoomout);}
注意最关键的这个方法的注释,和两个参数的作用,这个作用很大的,对于outside的Activity也是有作用的 void android.app.Activity.overridePendingTransition(int enterAnim, int exitAnim)Call immediately after one of the flavors of startActivity(Intent) or finish to specify an explicit transition animation to perform next. As of android.os.Build.VERSION_CODES.JELLY_BEAN an alternative to using this with starting activities is to supply the desired animation information through a ActivityOptions bundle to or a related function. This allows you to specify a custom animation even when starting an activity from outside the context of the current top activity.Parameters:
enterAnim A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnim A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.
传统的方式 五种动画 直接new出来,然后使用AnimationSet或者单独使用某一个,然后view执行动画
动画的执行方式不止这几种关键是用的好,用的到位才行
第四种
在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响,当然你可以在activity中覆盖它。
<application android:theme="@style/ThemeActivity">
然后在values/themes.xml中
<style name="ThemeActivity" mce_bogus="1">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
<item name="android:windowNoTitle">true</item>
</style>
在values/styles.xml中
<style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">
<item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>
<item name="android:activityOpenExitAnimation">@anim/push_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<item name="android:activityCloseExitAnimation">@anim/push_right_out</item>
</style>
这样就可以了,至于anim中的动画,就自己定义啦,这个和普通的animation是一样的,如果不知道的话,请参见
http://developer.android.com/guide/topics/graphics/view-animation.html。
这种方式除了可以定义activity的animation之外,还有task,window出现和结束时候的动画,具体请参见
http://developer.android.com/reference/android/R.styleable.html#WindowAnimation
简单总结,随后会更新
这篇关于Animation的学问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!