ActivityDialog添加进出动画的过程

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

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

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

@override
public 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>

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sj18271633329/article/details/51539909
个人分类: Andoid
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

ActivityDialog添加进出动画的过程

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭