我對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
postDelayed 500ms 再執行網路請求
能監聽動畫就監聽動畫,不能監聽動畫就postDelayed。
給動畫設定監聽,當動畫完成時執行網路請求
醉了。你聽過生命週期嗎?
試試在OnActivityCreate()或OnStart()方法中進行網路請求
既然無法監聽Fragment動畫結束,我們可以換個思路,給動畫加上listener,在onEnd方法中再將進度條設為可見