android - Fragment 使用了过场动画,如何确保某个方法是过场动画完毕后执行呢?
phpcn_u1582
phpcn_u1582 2017-05-16 13:32:51
0
6
635

我对fragment 设置了一个500ms的过场动画,然后在onViewCreate中进行了网络请求,在请求网络开始时,我会显示一个进度条,但是因为这个时候过场动画还未完成,导致了进度条先于界面被展示了
如何确保我的请求网络的方法是在过场动画执行完毕后执行的呢?(不使用sleep)

04-23 04:25:21.455 3680-3680/? D/Main6Activity: click: 
04-23 04:25:21.462 3680-3680/? D/TestFragment: onAttach: 1492921521462
04-23 04:25:21.464 3680-3680/? D/TestFragment: onCreateView: 1492921521464
04-23 04:25:21.466 3680-3680/? D/TestFragment: onViewCreated: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onActivityCreated: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onStart: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onResume: 1492921521466
phpcn_u1582
phpcn_u1582

全部回复(6)
習慣沉默

postDelayed 500ms 再执行网络请求

Ty80

能监听动画就监听动画,不能监听动画就postDelayed。

过去多啦不再A梦

给动画设置监听,当动画完成时执行网络请求

巴扎黑

醉了。你听说过生命周期吗?

为情所困

试试在OnActivityCreate()或者OnStart()方法中进行网络请求

洪涛

既然无法监听Fragment动画结束,我们可以换个思路,给动画添加listener,在onEnd方法中再将进度条设为可见

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板