ActivityDialog添加进出动画的过程

来源:互联网 发布:整体衣柜软件 编辑:程序博客网 时间:2024/06/06 02:50

因为分享页面打开和关闭过于突兀,因而要添加上动画。
首先考虑的是overridePendingTransition方法。
overridePendingTransition(startAnim,endAnim);

startActivity(new Intent(ActivityA.this,ActivityB.class));overridePendingTransition(startAnim,endAnim);finish();

以上代码表示打开B页面同时关闭A页面,则效果就是A执行退出动画,B执行进入动画。
方法很简单 ,代码很简单,结果很简单,无效。分享页面关闭时没有动画,也就是B页面关闭的时候没有动画。
于是,在B页面中,重写finish()方法

@overridepublic void finish(){    super();    overridePendingTransition(startAnim,endAnim);}

给B页面退出添加动画。
然后。。。 GG思密达。
排查问题:
1. 动画没错。
2. 调用路径,走到finish(),走到overridePendingTransition();方法
3. 考虑逻辑,B页面的退出动画,对应的是overridePendingTransition的第二个参数,貌似也没问题。

会不是是overridePendingTransition()方法无效呢。
于是换了一种实现方式。

        <activity            android:name=".share.ShareActivity"            android:screenOrientation="portrait"            android:theme="@style/Theme.CustomDialog">            </activity>

在CustomDialog中添加了2行代码。

        <item name="android:windowEnterAnimation">@anim/in</item>        <item name="android:windowExitAnimation">@anim/out</item>

是为页面进入和退出添加动画。结果很悲伤,还是无效。

最后的想法,方法没有错的话,就是对象错了。
这个页面使用的是Theme.ActivityDialog,然后想一下对它添加动画的方法,在onCreate方法中添加了一句

getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
    <style name="DialogAnimation">        <item name="android:windowEnterAnimation">@anim/in</item>        <item name="android:windowExitAnimation">@anim/out</item>    </style>

运行,尝试,解决,下班………………

0 0
原创粉丝点击