共享元素實現大圖瀏覽,左右滑動共享item改變。
(及整合高仿微信朋友圈大圖查看,拖拽退出。在文章末尾貼出)
廢話不多說直接上圖
1、滑動改變item
2、滑動列表不可見,列表下滑
圖1是本地資源文件展示。目的是怕時間過久,網絡url失效。圖2是網絡url。此時會有網絡問題,圖片一時半會加載不除來,此時會有個延緩加載共享動畫的機制。同時博主還做了對圖片加載進度的操作,有效的避免了這個弊端。如果本文對您有幫助,github請幫忙star下。
主要是通過2個方法:
1、setExitSharedElementCallback()
2、setEnterSharedElementCallback()
共享元素動畫頁是可以監聽的,代碼如下
getWindow().getSharedElementEnterTransition().addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
LogUtils.i("共享元素動畫的實現", "onTransitionStart");
}
@Override
public void onTransitionEnd(Transition transition) {
LogUtils.i("共享元素動畫的實現", "onTransitionEnd");
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
下面是本整合和優化的高仿微信朋友圈大圖查看,拖拽退出(在此感謝作者):
● 正常展示:
● 支持長圖:
● 支持gif動圖:
● 支持視頻:
● 妥善處理好了未加載圖:
源碼下載
下面是本人github地址,歡迎star
您的關注,是我最大的動力、