转自: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" ?> name = "PauseDialog"   parent = "@android:style/Theme.Dialog" >
< item name = "android:windowAnimationStyle" >@ style / PauseDialogAnimation item >
name = "PauseDialogAnimation" >
< item name = "android:windowEnterAnimation" >@ anim / spin_in item > < item name = "android:windowExitAnimation" >@ android : anim / slide_out_right item >
2、设置activity动画

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

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

四个item设定。

具体代码设置参考如下:




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

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

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Oprofile 移植到Android
  6. Android文件系统编译出错记录
  7. net :: ERR_CLEARTEXT_NOT_PERMITTED
  8. 【Android】详解Android动画之Interpolator插入器
  9. 环境搭建安卓开发频解说

随机推荐

  1. 用Java模拟表单(或iPhone、Android客户端)
  2. Android从服务器端接收json数据并解析的
  3. 模拟器调试中动态链接库的替换
  4. 关于Android内存管理及性能优化的一些细
  5. 再集成Qt4.7
  6. Android(安卓)Handler类消息传递机制(三)不
  7. Mac Android(安卓)Studio处理unable to a
  8. Android(安卓)onCreate方法被调用两次的
  9. Android利用百度地图定位
  10. flutter使用multi_image_picker选择图片