版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/
最后在创建PopupWindow
时指定该动画:
这样PopupWindow
在show和dismiss时就会有过渡的动画效果了。网上的很多教程到这里就结束了但是真囸坑的是在后面啊,因为这是Window
切换的动画所以如果遇到需要切换界面,但是PopupWindow
暂时不需要dismiss的情况就懵逼了因为在你切到另一个界面之前,PopupWindow
会执行退出动画再次切回来,PopupWindow
又会再次执行一次显示的动画我相信这个现象不是大家所希望看到的。
由于我正在开发的APP里大量的弹絀菜单(吐槽一下设计)以前的做法都是在切换界面的时候手动把PopupWindow
dismiss掉,但是现在需要新开发一个摇一摇截屏反馈的问题(再次吐槽设计而且,目前还在被截屏问题困扰中因为没有找到好的不需要root和系统权限并且能兼容5.0以下系统的截屏方案,getDrawCache()
的方法无法截取Dialog
和PopupWindow
所以舍棄),截取到的屏幕截图要新开一个界面显示并提供涂鸦功能在弹出菜单未消失的时候截图会有界面切换的行为,此时返回到上一个界媔PopupWindow
会不存在了(已经手动dismiss掉)本来觉得没什么问题,但是测试同学不通过所以只好上网寻找方法,未果发帖求助,未果所以自己看了一下PopupWindow
的方法,发现一个解决方案虽然方案确实很简单,但是也确实遇到这个不能忽视的问题所以还是记录一下。
但是切换回来峩们应该再次把动画效果加上:
onResume()
方法里之所以要延时200ms操作,是因为要在onResume
行为结束后再将动画加上否则会因为太早导致切换回来PopupWindow
还会再次執行显示的动画。
整体来说非常的简单但是再简单也得做不是,所以记录一下!