关闭

ActivityDialog添加进出动画的过程

781人阅读 评论(0) 收藏 举报
分类:

因为分享页面打开和关闭过于突兀,因而要添加上动画。
首先考虑的是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>

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

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1572次
    • 积分:91
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类