我是靠谱客的博主 生动飞机,最近开发中收集的这篇文章主要介绍Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


转自:http://www.drovik.com/html/7258433323.html

在做android动画的过程中,遇到了设置动画的两个参数windowEnterAnimation和activityOpenEnterAnimation。看了android的源代码和资源文件,终于明白二者的区别: windowEnterAnimation用于修饰dialog动画, activityOpenEnterAnimation用于修饰activity的动画。


        具体用法如下:

        1、设置Dialog动画

A、
      通过getWindow()方法获取它的窗口,然后通过getAttributes()方法获得window的WindowManager.LayoutParams lp, lp有个公共属性windowAnimations, 只要把要实现的animation的id赋值给它就可以了
Dialog  dialog  =   new   Dialog ( this );
dialog . getWindow (). getAttributes (). windowAnimations  =  R . style . PauseDialogAnimation
B、通过在创建Dialog的过程中动态的把动画文件的ID穿进去。
Dialog  dialog  =   new   Dialog ( this ,  R . style . PauseDialog );
// Setting the title and layout for the dialog
dialog . setTitle ( R . string . pause_menu_label );
dialog . setContentView ( R . layout . pause_menu );
说明:需要首先在res/value/下创建style.xml文件
<? xml version = "1.0"  encoding = "utf-8" ?>
<resources>
<style  name = "PauseDialog"   parent = "@android:style/Theme.Dialog" >
< item name = "android:windowAnimationStyle" >@ style / PauseDialogAnimation </ item >
</style>
<style  name = "PauseDialogAnimation" >
< item name = "android:windowEnterAnimation" >@ anim / spin_in </ item >
< item name = "android:windowExitAnimation" >@ android : anim / slide_out_right </ item >
</style>
</resources>
2、设置activity动画

a、
activity的进入和退出效果可以通过

@android:activityOpenEnterAnimation,
@android:activityOpenExitAnimation,
@android:activityCloseEnterAnimation,
@android:activityCloseExitAnimation

四个item设定。

具体代码设置参考如下:

<style name="myact">

<item name="@android:activityOpenEnterAnimation">@anim/act_enter</item>

<item name="@android:activityOpenExitAnimation">@anim/act_exit</item>

<item name="@android:activityCloseEnterAnimation">@anim/act_enter</item>

<item name="@android:activityCloseExitAnimation">@anim/act_exit</item>

</style>


<style name="mytheme" parent="@android:style/Theme">

<item name="@android:windowAnimationStyle">@style/myact</item>

</style>

然后把mytheme这个style作为Activity的theme就行了

b、

      也通过acitvity获取它的window, 然后和设置dialog一样进行设置。  acitvity的动画设置归根结底是设置Window的layoutparams里的windowAnimations值。

最后

以上就是生动飞机为你收集整理的Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别的全部内容,希望文章能够帮你解决Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部