我使用API級別21,檢測在Nexus 6.父活動變得在出口過渡
看不見我有兩個活動:大師+詳細地,每個視圖具有一個片段。 當我在主列表中選擇一個項目時,它將轉換到詳細視圖。
我已經在主機和細節啓用視圖過渡,就像這樣:
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
Transition ts = new Slide(Gravity.RIGHT);
ts.setDuration(2500);
getWindow().setEnterTransition(ts);
getWindow().setExitTransition(ts);
getWindow().setAllowEnterTransitionOverlap(true);
getWindow().setAllowReturnTransitionOverlap(true);
的過渡動畫作品如預期,除了一兩件事:當我選擇一個項目,父活動被隱藏,因爲它的轉換出來,所以我看不到它。當我按回時,細節視圖被轉換出來(不隱藏),並且主機被轉換(不隱藏)。 那麼爲什麼當主視圖轉換出來並且細節視圖轉換時隱藏了呢?
在Android Studio中我看到幾個日誌訊息如此:
changeCanvasOpacity: opaque=true
changeCanvasOpacity: opaque=false
changeCanvasOpacity: opaque=false
changeCanvasOpacity: opaque=false
的前兩行是第一過渡(主=>細節)和第二兩個是背部(詳細=>主) 。正如你所看到的,只有一行是「opaque = true」。我相信這是當主視圖隱藏時(隨着轉換開始)。
我該如何預防?
在這篇文章中Content Transitions In-Depth (part 2),在「Content Transitions Under-the-Hood」下,項目1C中它說:「框架將A中的所有轉換視圖設置爲INVISIBLE。」。
我相信這是我的問題。我該如何解決這個問題?
我想實現這樣的效果(從master => detail轉換時):http://www.christianpeeters.com/android-tutorials/tutorial-activity-slide-animation/#more-483 – mikeesouth 2015-02-07 23:17:40
當動畫更快(例如持續時間= 300毫秒),但不太明顯,但如果持續時間爲2500毫秒,則顯然在退出動畫完成之前調用視圖消失。 – mikeesouth 2015-02-08 08:24:35