Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别
16lz
2021-01-25
转自: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" ?>
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值。更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- Oprofile 移植到Android
- Android文件系统编译出错记录
- net :: ERR_CLEARTEXT_NOT_PERMITTED
- 【Android】详解Android动画之Interpolator插入器
- 环境搭建安卓开发频解说
随机推荐