您现在的位置:首页 > 博客 > Android开发 > 正文
Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别
http://www.drovik.com/      2012-12-18 13:33:23      来源:www.drovik.com      点击:
     在做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值。
分享到:
发表评论(5)
1楼 d  发表于  2013-1-29 12:54:30
ding
[博主回复]  谢谢!
2楼 ルイヴィトンセカンドバッグモノグラム  发表于  2015-7-2 2:26:37
Nice blog here! Additionally your site a lot up very fast! What host are you the usage of? Can I am getting your affiliate hyperlink for your host? I desire my web site loaded up as quickly as yours lol ルイヴィトンセカンドバッグモノグラム http://www.sindjufeba.org.br/xml/fs.asp?lw77g-jg9ce.htm
3楼 ルイヴィトン財布アズール  发表于  2015-7-6 13:35:01
Wow, marvelous blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is magnificent, as well as the content! ルイヴィトン財布アズール http://www.smc-multimedia.com/wo.asp?fk96-ew6hr.htm
4楼 ルイヴィトングラフィティ財布ブランド  发表于  2015-7-7 6:19:15
ルイヴィトングラフィティ財布ブランド http://www.boyao-tech.com/jp/menu.asp?louis-vuitton-wallets-395,ルイヴィトン財布小銭入れ http://www.smc-multimedia.com/vago.asp?lv--190,ルイヴィトン財布n60003 http://www.boyao-tech.com/jp/menu.asp?louis-vuitton-wallets-149,ルイヴィトンダミエバッグ http://www.smc-multimedia.com/vago.asp?lv--42,ルイヴィトン財布コピー激安 http://www.boyao-tech.com/jp/menu.asp?louis-vuitton-wallets-117,ルイヴィトンカタログ財布 http://www.boyao-tech.com/jp/menu.asp?louis-vuitton-wallets-757,
5楼 ルイヴィトン財布ヴェルニ赤  发表于  2015-7-8 8:04:19
ルイヴィトン財布ヴェルニ赤 http://www.sinopromotion.com/bottoms.asp?ci65-pg3bu.htm, ルイヴィトン財布人気女性 http://www.sinopromotion.com/bottoms.asp?ji15-vv9hj.htm, ルイヴィトンスハリハンドバッグ http://www.sinopromotion.com/bottoms.asp?ko01-ib5zh.htm, ルイヴィトン長財布クロコダイル http://www.sinopromotion.com/bottoms.asp?hf24-hx0yo.htm, ルイヴィトン財布オーガナイザー http://www.sinopromotion.com/bottoms.asp?cs71-lh7wi.htm,
姓名 *
评论内容 *
验证码 *图片看不清?点击重新得到验证码